Hakkında herşey C# IList Nasıl Kullanılır
Hakkında herşey C# IList Nasıl Kullanılır
Blog Article
Else use List. You gönül't really argue "oh but I KNOW that I will always pass in a List here", then you should take a List derece an IList, else you are breaking Liskov substitution principle: "if S is a subtype of T, then objects of type T may be replaced with objects of type S"
Arec BarrwinArec Barrwin 61.8k99 gold badges3030 silver badges2525 bronze badges 14 71 I have to disagree with your sardonic answer. I don't totally disagree with the sentiment of over-architecture being a real mesele. However I think that especially in the case of collections that interfaces really shine.
The less popular answer is programmers like to pretend their software is going to be re-used the world over, when infact the majority of projects will be maintained by a small amount of people and however nice interface-related soundbites are, you're deluding yourself.
Dirilik a unique position be deduced if pieces are replaced by checkers (birey see piece color but derece type)
In this specific case since you're essentially talking about a language construct, hamiş a custom one it generally won't matter, but say for example that you found List didn't support something you needed.
List is a specific implementation of IList, which is a container that can be addressed the same way birli a linear array T[] using an integer index. When you specify IList as the type of the method's argument, you C# IList Nedir only specify that you need certain capabilities of the container. For example, the interface specification does derece enforce a specific veri structure to be used.
Bu kent, istenmeyenleri azaltmak bağırsakin Akismet kullanıyor. Yorum verilerinizin nasıl alışverişlendiği için elan C# IList Nedir zait bili edinin.
Whether you return an Interface or a concrete type depends upon what you want to let your callers do with the object you created -- this C# IList Nedir is an API design decision, and there's no hard and fast rule. You have to weigh their ability to make full use of the object against their C# IList Neden Kullanmalıyız ability to easily use a portion of the objects functionality (and of course whether you WANT them to be making full use of the object).
Collaborate with us on GitHub The source for this content sevimli be found on GitHub, where you hayat also create and review issues and pull requests. For more information, see our contributor guide.
IList is not a class; it's an interface that classes emanet implement. The interface itself is just a contract between the consumer of the class and the class itself. This line of code will work:
Returning a read-only interface such kakım IEnumerable is C# IList Neden Kullanmalıyız often the way to go for veri-retrieval methods. Your consumer güç project it into a richer type kakım-needed.
In collections of contiguous elements, such kakım lists, the elements that follow the insertion point move down to accommodate the new element.
I read a lot of posts saying how this makes it easier to change the implementation later on, but I just don't fully see how that works.