Преобразовать массив целых чисел в строку через запятую - PullRequest
236 голосов
/ 21 января 2011

Это простой вопрос;Я новичок в C #, как я могу выполнить следующие действия:

  • Я хочу преобразовать массив целых чисел в строку через запятую.

У меня есть

int[] arr = new int[5] {1,2,3,4,5};

Я хочу преобразовать его в одну строку

string => "1,2,3,4,5"

Ответы [ 5 ]

474 голосов
/ 21 января 2011
var result = string.Join(",", arr);

При этом используется следующая перегрузка string.Join:

public static string Join<T>(string separator, IEnumerable<T> values);
119 голосов
/ 21 января 2011

.NET 4

string.Join(",", arr)

.NET ранее

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
10 голосов
/ 28 мая 2016
int[] arr = new int[5] {1,2,3,4,5};

Вы можете использовать Linq для этого

String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);
5 голосов
/ 31 мая 2013

У вас может быть пара методов расширения, чтобы упростить эту задачу:

public static string ToDelimitedString<T>(this IEnumerable<T> lst, string separator = ", ")
{
    return lst.ToDelimitedString(p => p, separator);
}

public static string ToDelimitedString<S, T>(this IEnumerable<S> lst, Func<S, T> selector, 
                                             string separator = ", ")
{
    return string.Join(separator, lst.Select(selector));
}

Так что теперь просто:

new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();
3 голосов
/ 18 августа 2013

Используйте метод LINQ Aggregate для преобразования массива целых чисел в строку через запятую

var intArray = new []{1,2,3,4};
string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b));
Response.Write(concatedString);

вывод будет

1,2,3,4

Это одно из решений, которое вы можете использовать, если у вас не установлен .net 4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...