Collection <T> -Klasse und ihre Verwendung

Ich bin auf folgenden Code gestoßen:

var collection = new Collection<string>();

Ich habe nicht gesehen, dass die Collection-Klasse zu häufig verwendet wird, und kann nicht zu viele Informationen über ihren Zweck finden. Wenn Sie sich die .NET Framework-Quelle ansehen, handelt es sich im Grunde genommen nur um einen Wrapper um eine Liste, in der ein Listenmitgliedsfeld gespeichert ist. Sein Konstruktor lautet wie folgt:

public Collection()
{
  this.items = (IList<T>) new List<T>();
}

Und es implementiert auch IList. Sie können die Sammlung also wie folgt deklarieren:

IList<string> collection = new Collection<string>();

Was für mich funktional gleichbedeutend mit dem Erstellen einer Liste ist:

IList<string> collection = new List<string>();

Wann möchten Sie es jemals über eine Liste in Ihrem eigenen Code verwenden? Ich sehe, dass es eine Basisklasse für andere .NET-Sammlungen ist, aber warum sollten sie dies als einschließenöffentlicher Beton (im Gegensatz zu internen und / oder abstrakten)?

In Bezug auf Kommentare um mögliche Duplikate - Die Antworten auf verwandte Fragen scheinen zu besagen, dass die Collection-Klasse als Basisklasse verwendet werden soll. Was ich wirklich frage, das ist anders:

Wenn Sie in Ihrem eigenen Code verwenden, verwenden Sie List stattdessen als Basisklasse.Ist es überhaupt sinnvoll, anstelle von List eine neue Collection in Ihrem eigenen Code zu instanziieren?Wenn es wirklich so istnur bereitgestellt, um als Basisklasse zu dienen,warum ist es nicht abstrakt?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage