それはおそらく私が見逃した愚かなことですが、私はそれらを合計する代わりに整数のリストを連結しようとします:
integerArray.Aggregate((accumulator, piece) => accumulator+"," + piece)
コンパイラーは引数エラーについて不平を言いました。ループを経由せずにこれを行うための洗練された方法はありますか?
どのバージョンの.NETですか? 4.0では、string.Join(",",integerArray)
を使用できます。 3.5では、string.Join(",",Array.ConvertAll(integerArray,i=>i.ToString()));
を使用したくなります(それを前提としてis配列)。それ以外の場合は、makeを配列にするか、StringBuilder
を使用します。
あなたはおそらく String.Join を使いたいでしょう。
string.Join(",", integerArray.Select(i => i.ToString()).ToArray());
.Net 4.0を使用している場合は、アレイを具体化する面倒な作業を行う必要はありません。そしてただできる
string.Join(",", integerArray);
発生しているエラーは、シードを指定できるAggregate
のオーバーライドを使用しなかったためです。シードを指定しない場合は、コレクションのタイプが使用されます。
integerArray.Aggregate("", (accumulator, piece) => accumulator + "," + piece);
@Marcに別の選択肢を追加するだけです
var list = string.Join( ",", integerArray.Select( i => i.ToString() ).ToArray() );