I toyed with writing an extension method, also with inheriting from IList and implementing my own Sort() method kakım well as casting to a List but none of these seemed overly elegant.
But far more importantly, if you are accepting an IList birli a parameter you'd better be careful, because IList and List do hamiş behave the same way. Despite the similarity in name, and despite sharing an interface
Edit: You do need to be quick to get answers in here. Birli I presented a slightly different syntax to the other answers, I will leave my answer - however, the other answers presented are equally valid.
It's more nuanced than that. If you are returning an IList bey part of the public interface to your library, you leave yourself interesting options to perhaps make a custom list in the future.
The preceeding line of code will work, but you will only have the members of IList available to you instead of the full kaş from whatever class you initialize.
The Liskov Substitution Principle (simplified) states that a derived type should be able to be used in place of a base type, with no additional preconditions or postconditions.
class Kisi string ad; string soyad; public string Ad get return ad; grup ad = value; public string Soyad get C# IList Nedir return soyad; seki soyad = value;
If the collection is indexed, the indexes of the elements that are moved are also updated. This behavior does derece apply to collections where elements are conceptually grouped into buckets, such kakım a hash table.
For example, let's say you have a Person class and a Group class. A Group instance saf many people, so C# IList Neden Kullanmalıyız a List here would make sense. When C# IList Nerelerde Kullanılıyor I declare the list object in Group I will use an IList and instantiate it bey a List.
Taking LinkedList vs taking List vs IList all communicate C# IList Nedir something of the performance guarantees required by the code being called.
However, this makes the method more fragile, kakım any change to the returned object type may break the calling code. In practice though, that generally isn't a major problem.
rajeshrajesh 39133 silver badges22 bronze badges 1 8 Excellent, clear answer, which I marked kakım helpful. However, I would add that for most developers, most of the time, the tiny difference in izlence size and performance is hamiş worth worrying about: if in doubt, just use a List.
for your return types. This gives your callers the most flexibility in passing in types to your methods and the most opportunities to cast/reuse the return values.
So I have been playing around C# IList Nasıl Kullanılır with some of my methods on how to do this. I am still hamiş sure about the return type(if I should make it more concrete or an interface).