web-dev-qa-db-ja.com

整数の配列をコンマ区切りの文字列に変換する

簡単な質問です。私はC#の初心者です、どうすれば次の操作を実行できますか

  • 整数の配列をカンマ区切りの文字列に変換したいです。

私は持っています

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

1つの文字列に変換したい

string => "1,2,3,4,5"
235
Haim Evgi
var result = string.Join(",", arr);

これはstring.Joinの以下のオーバーロードを使います:

public static string Join<T>(string separator, IEnumerable<T> values);
470
Cheng Chen

.NET 4

string.Join(",", arr)

以前の.NET

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
119
leppie
int[] arr = new int[5] {1,2,3,4,5};

あなたはそれのためにLinqを使うことができます

String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);
10
Manish Nayak

この作業を簡単にするために、2つの拡張メソッドを持つことができます。

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();
5
nawfal

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がインストールされていない場合に使用できる解決策の1つです。

3
sushil pandey