I am a learner of C#.Can you please explain me what is the difference between assigning a collection to interface.
I see some examples,initialize
List<int> few = new List<int>() { 12, 123, 211, 200 };
But some assign collection to interface
IList<int> someList=new List<int>(){12,23,56,78};
When would we need the later one?.Pros and cons with examples will educate me well ,if you kindly provide the one.
Typically you should choose to expose IList rather than List in a public interface, while it would make little difference if the list is used only inside a method:
public IList<int> GetSomeInts()
{
List<int> result = new List<int>() { 12, 123, 211, 200 };
return result;
}
This way you decouple the public interface from the concrete type that you actually use internally in your method. You could for instance choose to replace the internal use of List<int> with using a Collection<int> instead without affecting the public interface or users of it, since both implement IList<T>.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With