Ich habe ein Objekt User
und es ist die folgende Klasse:
Und ich habe ein IEnumerable<User>
Ich möchte herausfinden, ob ein bestimmter Benutzer in IEnumerable<User>
existiert, und den Benutzer mit seiner ID vergleichen.
Ein Beispiel:
%Vor%Wie kann ich es tun? Und was ist der schnellste Weg, diesen Booleschen Wert zu erhalten, ist Contains?
Sie müssen eine User
, nicht eine int
überprüfen. Enumerable.Any funktioniert dafür gut:
Wenn Sie den Lambda-Ausdruck vermeiden möchten und denken, dass Sie möglicherweise User
Objekte anhand der ID in anderen Teilen Ihres Codes vergleichen müssen, sollten Sie einen Vergleicher wie folgt schreiben.
Dann sieht Ihre Listenabfrage wie folgt aus.
%Vor% Um Ihre Frage bezüglich der Abrufgeschwindigkeit zu beantworten, ist Contains
der schnellste Weg, wenn Sie nicht wissen, wie die User
Objekte in Ihrer Sammlung angeordnet sind. Wenn sie nach ID sortiert und in einem Objekt List<User>
gespeichert würden, könnten Sie die Methode List<User>.BinarySearch()
mit einer entsprechenden Implementierung von IComparer<User>
verwenden.