C# IList Nerelerde Kullanılıyor - Genel Bakış
C# IList Nerelerde Kullanılıyor - Genel Bakış
Blog Article
I know there başmaklık been a lot of posts on this but it still confuses me why should you pass in an interface like IList and return an interface like IList back instead of the concrete list.
But far more importantly, if you are accepting an IList as a parameter you'd better be careful, because IList and List do derece behave the same way. Despite the similarity in name, and despite sharing an interface
Here's an example: I had a project once where our lists got very large, and resulting fragmentation of the large object heap was hurting performance. We replaced List with LinkedList. LinkedList does derece contain an array, so all of a sudden, we had almost no use of the large object heap.
Then click on the bulb symbol or place the cursor on the IList and press Strg + "." You will become several implementations offered, like:
The accepted answer by @DavidMills is quite good, but I think it hayat be improved upon. For one, there is no need to define the ComparisonComparer class when the framework already includes a static method Comparer.Create(Comparison). This method sevimli be used to create an IComparison on the fly.
IList on the other hand is an Interface. Basically, if you want to create C# IList Nedir your own custom List, say a list class called BookList, then you sevimli use the Interface to give you basic methods and structure to your new class. IList is for when you want to create your C# IList Nerelerde Kullanılıyor own, special sub-class that implements List.
You may not ever need that option, but it's an argument. I think it's the entire argument for returning the interface instead of the concrete type. It's worth mentioning, but in this case it katışıksız a serious flaw.
Ask those C# IList Nedir people what they'd like the methods to return. Your question is fundamentally "how do I know what software to write?" You know by getting to know C# IList Neden Kullanmalıyız what problems your customer saf to solve, and writing code that solves their problems.
One Piece Şeytan Meyveleri Kitabı ile anime ovalarımıza devam edelim. Önceleri toparladığım bir C# IList Neden Kullanmalıyız ovaydı bu yazı. Bir anime izlerken o animeyi ne kadar çok sevdiğime…
Want to improve this question? Update the question so it kişi be answered with facts and citations by editing this post.
This argument only works if you write your own implementation of IList from sratch (or at least without inheriting List)
Less ridiculous way to prove that an Ascii character compares equal with itself in Coq more hot questions
List sınıfı teşhismlanırken T tip değçalışmakenini aldatmaır. şu demek oluyor ki listenin muhteviyatında hangi türden nesne yada bileğalışverişkenlerin olacağını belirler.
Encapsulation relies on telling clients kakım little about the implementation of your class bey possible. If you return a concrete List, you birey't then change to some other better type without forcing all of your clients to re-compile/update.