Warum lieber eine Sammlungsschnittstelle als einen konkreten Typ zurückgeben? [Duplikat

Diese Frage hat hier bereits eine Antwort:

List <T> oder IList <T> 18 answers

Ich habe im Code anderer Leute bemerkt, dass Methoden, die generische Sammlungen zurückgeben, fast immer eine Schnittstelle zurückgeben (z. B.IEnumerable<T> oderIList<T>) statt einer konkreten Umsetzung.

Ich habe zwei verwandte Fragen. Erstens, warum (wenn überhaupt) ist es besser, eine Schnittstelle zurückzugeben? Zweitens gibt es eine Sammlungsschnittstelle, die die Sortiermethode enthält (alsList<T> tut)?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage