C # ListT.ConvertAll in .NET 2.0

8

Ich habe eine Liste von Strings. Alle Zeichenfolgen haben Leerzeichen, die in Unterstriche konvertiert werden müssen. Ich bin dazu in der Lage, eine for oder foreach -Schleife zu verwenden. Ich bin noch relativ neu in C # und möchte mich damit vertraut machen. Damit ist meine Frage:

Wie kann ich den folgenden Code in .NET 2.0 verwenden? Wenn ich fieldList am Ende der Operation ConvertAll überprüfe, hat sich nichts geändert. Gibt es ein Problem mit der Übergabe der Zeichenfolge nach Wert anstelle von Referenz?

%Vor%

Bitte denken Sie daran, dass ich .NET 2.0 verwende und derzeit nicht wechseln kann, so dass ich nicht den Luxus habe, LINQ oder Lambdas zu verwenden.

    
kzh 22.12.2009, 20:30
quelle

2 Antworten

13

Sie müssen die Ergebnisse der Methode ConvertAll der Variablen wie folgt zuweisen:

%Vor%

Die ConvertAll -Methode gibt ein neues List<T> zurück, das Sie zuweisen müssen Ergebnis der Methode. Wenn Sie die Variable fieldList erneut verwenden möchten, ist es möglicherweise besser, eine neue Variable zu erstellen, um die Übersichtlichkeit Ihres Codes zu verbessern:

%Vor%

Wie Marc Gravell unten in einem Kommentar ausführt, können Sie die Syntax dieses Ausdrucks vereinfachen, indem Sie Folgendes tun:

%Vor%     
Andrew Hare 22.12.2009, 20:33
quelle
3

ConvertAll ändert die Eingabeliste nicht. Es gibt eine neue Liste zurück, die das umgewandelte Zeug enthält. By the way, Sie können die new Converter<string,string> mit C # 2.0 + entfernen:

%Vor%

Außerdem hindert Sie nichts daran, einen C # 3.0-Compiler und LINQBridge und .NET .NET 2.0 zu verwenden.

    
Mehrdad Afshari 22.12.2009 20:34
quelle

Tags und Links