2009-05-14 3 views
4

Je me sens stupide de demander, mais il doit y avoir un doublure qui fait l'équivalent ou presque équivalent du code ci-dessous dans C# ... alors pouvez-vous me dire ce qu'il est?c doublure # pour .ToString() sur l'ensemble du tableau

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; 
    } 

Répondre

10

Que diriez-vous d'une méthode d'extension?

public static string[] ToStringArray<T>(this IEnumerable<T> items) 
{ 
    return items.Select(i => i.ToString()).ToArray(); 
} 
+0

Une méthode d'extension pourrait fonctionner, mais pourquoi ne pas utiliser les cadres .Net fonction "Rejoindre à" pour cette ? – RSolberg

+0

Voir mes commentaires sur votre réponse. String.Join transforme un tableau de chaînes en une seule chaîne. La question initiale appelait un moyen de transformer un tableau d'ints en un tableau de chaînes. –

+0

J'ai manqué toute la partie "int" de cela :) – RSolberg

9

LINQ:

int[] ints = { 1, 2, 3 }; 

string[] strings = ints.Select(i => i.ToString()).ToArray(); 
2

LINQ:

(from x in i select x.ToString()).ToArray() 
1
 

int[] x = new int[] {1,2,3}; 
string[] y = Array.ConvertAll(x, intArg => intArg.ToString()); 
 
Questions connexes