Wenn Sie tatsächlich eine Liste benötigen, dann ist die LINQ-Methode das Beste, was Sie tun können (es könnte eine marginale Geschwindigkeitsverbesserung beim Erstellen einer neuen Liste mit der entsprechenden Kapazität geben und dann hinzufügen, aber es ist unwahrscheinlich, dass sie nennenswert ist.) p>
Bearbeiten: Wenn Sie dies tun wollen, verwenden Sie ConvertAll
nicht Select
gefolgt von ToList
, besonders wenn Ihre Liste groß sein könnte. ConvertAll
weist der richtigen Größe vor, deren Wichtigkeit für die Leistung mit der Größe der Quellliste wächst.
Wenn Sie eine schreibgeschützte IList verwenden möchten, die sich so verhält, wie Sie dies getan haben, können Sie aus einer konvertierenden Listenklasse eine viel bessere Leistung erzielen:
%Vor%Damit, dann:
%Vor%erstellt ein neues Objekt in konstanter Zeit, das sich wie eine schreibgeschützte Liste der Namen verhält.
(Eine Schutzmaßnahme gegen einen Null-Benutzer gibt hier eine Null-Zeichenfolge zurück, anderes Verhalten kann natürlich angegeben werden).
Tags und Links c#