KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have got a question about the order in IEnumerable . As far as I am aware, iterating through IEnumerable is pseudo-code can be written in the following way: while (enumerable.HasNext()) { object obj = enumerable.Current; ... } Now, assume, that one needs to operate on a sorted collection. Can IEnumerable be used in this case or is it better to try other means (i.e. IList ) with indexation support? In other words: does the contract of IEnumerable make any guarantees about the order in general? So, IEnumerable is not a proper mean for a generic interface that guarantees ordering. The new question is what interface or class should be used for an immutable collection with order? ReadonlyCollection ? IList ? Both of them contain Add() method (even is not implemented in the former one). My own thoughts: IEnumerable does not provide any guarantees about the ordering. The correct implementation could return same elements in different order in different enumerations (consider an SQL query) I am aware of LINQ First() , but if IEnumerable does not say a word about it's ordering, this extension is pretty useless.
Tags (comma-separated)
Save Edits
Cancel