c # один вкладыш для .ToString () по всему массиву - PullRequest
4 голосов
/ 14 мая 2009

Я чувствую себя глупо, спрашивая, но должен быть один вкладыш, который делает эквивалент или почти эквивалент кода ниже в C # ... так что вы можете сказать мне, что это такое?

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

Ответы [ 4 ]

10 голосов
/ 14 мая 2009

Как насчет метода расширения?

public static string[] ToStringArray<T>(this IEnumerable<T> items)
{
    return items.Select(i => i.ToString()).ToArray();
}
9 голосов
/ 14 мая 2009

Использование LINQ:

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

string[] strings = ints.Select(i => i.ToString()).ToArray();
2 голосов
/ 14 мая 2009

Использование LINQ:

(from x in i select x.ToString()).ToArray()
1 голос
/ 14 мая 2009

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

...