2009-05-14 4 views
4

私は尋ねるのが馬鹿だと感じていますが、C#で以下のコードと同等かそれに近いコードを実行するライナーが1つあるに違いありません。ありますか?配列全体の.ToString()のための1つのライナー

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

答えて

10

拡張方法はどうですか?

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

拡張メソッドは動作しますが、なぜこの用の.NETフレームワーク ".Join" 機能を使用しません? – RSolberg

+0

あなたの答えについての私のコメントを参照してください。 String.Joinは文字列の配列を単一の文字列に変換します。元の質問では、intの配列を文字列の配列に変換する方法が必要でした。 –

+0

私はそれの全体の "int"部分を見逃しました:) – RSolberg

9

LINQを使用して
int[] ints = { 1, 2, 3 }; 

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

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

int[] x = new int[] {1,2,3}; 
string[] y = Array.ConvertAll(x, intArg => intArg.ToString()); 
 
関連する問題