return new vs return?

mp3909

Well-known member
Joined
Apr 22, 2018
Messages
61
Location
UK
Programming Experience
3-5
C#:
public class List : IEnumerable
{
    private object[] _objects;
 
    public List()
    {
        _objects = new object[100];
    }
 
    public void Add(object obj)
    {
        _objects[_objects.Count] = obj;
    }
 
    public IEnumerator GetEnumerator()
    {
        return new ListEnumerator();     //why is there a new keyword here?
    }
 
    private class ListEnumerator : IEnumerator
    {
    }
}

In the code above, why is there a "return new"?
I have only seen "return".
What's the difference between "return" and "return new"?
 
What's the difference between "return" and "return new"?
There isn't any because you are reading it wrong. Read as "return" and "new ListEnumerator".
A new object of type ListEnumerator is created, then that object is returned from function.
 

Latest posts

Back
Top Bottom