Wenn ich über einen Innenteil über eine Eigenschaft Collection am aussetzt:Verarbeitet eine Collection <T> eine IList <T> oder listet sie über die IList auf <T>?
public Collection<T> Entries
{
get { return new Collection<T>(this.fieldImplimentingIList<T>); }
}
Wenn diese Eigenschaft aufgerufen wird, was passiert? Zum Beispiel, was passiert, wenn die folgenden Codezeilen genannt werden:
T test = instanceOfAbove.Entries[i];
instanceOfAbove[i] = valueOfTypeT;
Es ist klar, dass jedes Mal, diese Eigenschaft eine neue Referenztyp erstellt genannt wird, aber was passiert, acctually? Umschließt es einfach die IList<T>
darunter, zählt es über die IList<T>
und um eine neue Collection<T>
Instanz zu erstellen? Ich mache mir Sorgen über die Leistung, wenn diese Eigenschaft in einer for
-Schleife verwendet wird.
'Sammlung' wickelt die 'IList '. Warum geben Sie es als eine Sammlung zurück? Warum nicht als IEnumerable ? Möchten Sie Änderungen an der zugrunde liegenden Liste verhindern? –
Danke für die Frage! Ich habe nicht gedacht Collection ist nur ein Wrapper über Liste;) –