J'ai une liste de chaînes. Toutes les chaînes ont des espaces qui doivent être convertis en caractères de soulignement. Je suis entièrement capable d'utiliser une boucle for
ou foreach
pour ce faire. Je suis encore relativement nouveau à C# et j'aimerais mieux le connaître. Cela dit, ma question est:C# List <T> .ConvertAll in .NET 2.0
Comment puis-je obtenir le code suivant pour travailler dans .NET 2.0? Lorsque je vérifie fieldList
à la fin de l'opération ConvertAll
, rien n'a changé. Y at-il un problème avec le passage de la chaîne par valeur au lieu de référence?
string fields =
"First Name,Middle Name,Last Name,Birth Date,Gender,Address,City,State,Zip,Email";
List<string> fieldList = new List<string>(fields.Split(','));
fieldList.ConvertAll<string>(new Converter<string, string>(
delegate(string str)
{
str = str.Trim();
str = str.Replace(' ', '_');
return str;
}
));
S'il vous plaît, gardez à l'esprit, que j'utilise .NET 2.0 et ne peut pas changer actuellement, donc je n'ai pas le luxe d'utiliser LINQ ou lambdas.
Juste pour être complet, vous pouvez simplifier à '... ConvertAll (délégué (string str) {...});' –
@Marc - Bon à souligner :) Je –
eu cette erreur: Le type arguments pour la méthode 'System.Collections.Generic.List.ConvertAll (System.Converter)' ne peuvent pas être déduits de l'utilisation. Essayez de spécifier explicitement les arguments de type. – kzh