KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm having a little trouble with a method in which I use yield return this doesn't work... public IEnumerable<MyClass> SomeMethod(int aParam) { foreach(DataRow row in GetClassesFromDB(aParam).Rows) { yield return new MyClass((int)row["Id"], (string)row["SomeString"]); } } The above code never runs, when the call is made to this method it just steps over it. However if I change to... public IEnumerable<MyClass> SomeMethod(int aParam) { IList<MyClass> classes = new List<MyClass>(); foreach(DataRow row in GetClassesFromDB(aParam).Rows) { classes.Add(new MyClass((int)rows["Id"], (string)row["SomeString"]); } return classes; } It works just fine. I don't understand why the first method never runs, could you help me in understanding what is happening here?
Tags (comma-separated)
Save Edits
Cancel