Der sauberste Weg, um eine Übereinstimmung in einer Liste zu finden

8

Was ist der beste Weg, um etwas in einer Liste zu finden? Ich weiß, LINQ hat ein paar nette Tricks, aber lasst uns auch Vorschläge für C # 2.0 bekommen. Lassen Sie uns die besten Refactorings für dieses gemeinsame Codemuster erhalten.

Zur Zeit verwende ich Code wie folgt:

%Vor%

oder

%Vor%     
Nick 23.08.2008, 00:22
quelle

4 Antworten

14
  

@ Konrad: Wie benutzt du es? Nehmen wir an, ich möchte mo.ID mit magicNumber abgleichen.

In C # 2.0 würden Sie schreiben:

%Vor%

3.0 kennt lambdas:

%Vor%     
Konrad Rudolph 23.08.2008, 00:41
quelle
4

Verwenden eines Lambda-Ausdrucks:

%Vor%     
Todd 23.08.2008 00:41
quelle
1

Fügen Sie den Code in eine Methode ein und speichern Sie eine temporäre und eine break (und Sie recyceln Code als Bonus):

%Vor%

... aber natürlich existiert diese Methode sowieso schon für Listen, auch in .NET 2.0.

    
Konrad Rudolph 23.08.2008 00:31
quelle
1

Offensichtlich ist der Leistungshieb von anonymen Delegierten ziemlich signifikant.

Testcode:

%Vor%

Ergebnisse:

%Vor%

In jedem Fall ist die Verwendung von anonymen Delegaten ungefähr 100% langsamer als die andere Methode.

    
Nick 23.08.2008 01:36
quelle

Tags und Links