Ho una lista di stringhe. Tutte le stringhe hanno spazi bianchi che devono essere convertiti in caratteri di sottolineatura. Sono perfettamente in grado di utilizzare un ciclo for
o foreach
per eseguire questa operazione. Sono ancora relativamente nuovo in C# e vorrei diventare più familiare con esso. Detto questo, la mia domanda è:C# List <T> .ConvertAll in .NET 2.0
Come posso ottenere il seguente codice per funzionare in .NET 2.0? Quando controllo fieldList
alla fine dell'operazione ConvertAll
, non è cambiato nulla. C'è un problema con il passaggio della stringa in base al valore anziché al riferimento?
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;
}
));
prega, tenere a mente, che sto usando .NET 2.0 e non possono attualmente passare, quindi non hanno il lusso di usare LINQ o lambda.
Solo per completezza, è possibile semplificare al '... ConvertAll (delegato (string str) {...});' –
@ Marc - bene evidenziare :) –
ho ottenuto questo errore: Il tipo gli argomenti per il metodo 'System.Collections.Generic.List.ConvertAll (System.Converter)' non possono essere dedotti dall'utilizzo. Prova a specificare esplicitamente gli argomenti del tipo. – kzh