It's always best to use the lowest base type possible. This gives the implementer of your interface, or consumer of your method, the opportunity to use whatever they like behind the scenes.
Lütfen dundaki kutuya şikayetinizin detaylarını yazın. Şikayetinizi değerlendirildikten sonrasında size bilgelik vereceğiz.
Diyelim ki formunuzdaki textboxları listenize doldurdunuz sadece Text’i boş olan textboxları bulmanız gerekiyor. Bunun yürekin List u kullanmanız gerekir. Yukarıda anlattığımız örneği dümdüz olarak yapacak olursak;
Kendi koleksiyon sınıflarınızı oluştururken yeniden kullanılabilir harf yazmanızı sağlar: C# CollectionBase kullanarak genel derlem çalışmalemlerini içermiş bir çizgi dershane oluşturabilirsiniz.
In the end, you might need to replace an implementation for any reason; performance is just one possibility. Regardless of the reason, using the least-derived type possible will reduce the need for changes in your code when you change the specific run-time type of your objects.
Örneğin, bayağıdaki kodda bir IAnimal tipinde bir değişici tanımladım ve bu bileğfiilkene Dog ve Cat nesneleri atadım.
You are most often better of using the most general usable type, in this case the IList or even better the IEnumerable interface, so that you hayat switch the implementation conveniently at a later time.
Ask those 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 what problems C# IList Nerelerde Kullanılıyor your customer katışıksız to solve, and writing code that solves their problems.
In most cases, if you are using a List and you think you could use a narrower interface instead - why derece IEnumerable? This is often a better fit if you don't need to add items. If you need to add to the collection, use the concrete type, List.
Taking LinkedList vs taking List vs IList all communicate 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.
Then I looked in my view(mvc) and found that I actually needed the count method kakım I needed to use a for loop. So in my own application I under estimated what I actually needed how do you anticipate what someone else will need or not need.
So typically, your methods should accept and return interfaces for collections. This leaves your own implementation and your callers room to decide on the actual implementation bey required.
For instance, if you return an C# IList Nerelerde Kullanılıyor IEnumerable, then you are limiting them to iterating -- they birey't add or remove items from your C# IList Nerelerde Kullanılıyor object, they can only act against the objects. If C# IList Neden Kullanmalıyız you need to expose a collection outside C# IList Nerelerde Kullanılıyor of a class, but don't want to let the caller change the collection, this is one way of doing it. On the other hand, if you are returning an empty collection that you expect/want them to populate, then an IEnumerable is unsuitable.