回答:
使用できますString.Join
。あなたが持っている場合は、最初にList<string>
呼び出すことができますToArray
:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
.NET 4では、あなたは必要としないToArray
のオーバーロードがあるので、もうString.Join
それは取りますIEnumerable<string>
。
結果:
ジョン、アンナ、モニカ
必要に応じて、これをlinqで行うこともできます
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Quartermeisterの回答ではlinq以外の構文を好んでいますAggregate
が、パフォーマンスが低下する可能性があると思います(おそらくより多くの文字列連結演算)。
Aggregate
は数学タイプの演算に適していると思います。文字列を使用したこの操作for each
は、リストに存在する各アイテムに対して新しい文字列を作成するため、非効率で非常に遅い文字列にingおよび追加するのと同じです。