c # uno di linea per .ToString () sull'intera matrice
Domanda
Mi sento stupido per chiedere, ma ci deve essere un uno di linea che fa l'equivalente equivalente o presso il codice qui sotto in C # ... così può dirmi di cosa si tratta?
public static string[] ToStringArray(int[] i)
{
if (i==null) return null;
string[] result = new string[i.Length];
for (int n= 0; n< result.Length; n++)
result[n] = i[n].ToString();
return result;
}
Soluzione
Come su un metodo di estensione?
public static string[] ToStringArray<T>(this IEnumerable<T> items)
{
return items.Select(i => i.ToString()).ToArray();
}
Altri suggerimenti
Utilizzando LINQ:
int[] ints = { 1, 2, 3 };
string[] strings = ints.Select(i => i.ToString()).ToArray();
Utilizzando LINQ:
(from x in i select x.ToString()).ToArray()
int[] x = new int[] {1,2,3};
string[] y = Array.ConvertAll(x, intArg => intArg.ToString());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow