Bu cevap, Aggregate
soruda talep edildiği gibi LINQ ( ) kullanımını gösterir ve günlük kullanım için tasarlanmamıştır. Bu bir kullanmadığı StringBuilder
için çok uzun diziler için korkunç bir performansa sahip olacaktır. String.Join
Diğer cevapta gösterildiği gibi düzenli kod kullanımı için
Bunun gibi toplu sorguları kullanın:
string[] words = { "one", "two", "three" };
var res = words.Aggregate(
"", // start with empty string to handle empty list case.
(current, next) => current + ", " + next);
Console.WriteLine(res);
Bu çıktılar:
, bir, iki, üç
Toplama, bir değer koleksiyonu alan ve skaler bir değer döndüren bir işlevdir. T-SQL örnekleri arasında min, maks ve sum sayılabilir. Hem VB hem de C #, kümeler için desteğe sahiptir. Hem VB hem de C #, uzantı yöntemleri olarak toplamaları destekler. Nokta gösterimini kullanarak, bir kişi IEnumerable nesnesinde bir yöntemi çağırır .
Toplam sorguların hemen yürütüldüğünü unutmayın.
Daha fazla bilgi - MSDN: Toplu Sorgular
Gerçekten CodeMonkeyKing tarafından yorumda önerilen Aggregate
kullanarak , çok sayıda nesne için iyi performans da dahil olmak üzere normal kodla aynı olan bir varyantı kullanmak istiyorsanız :StringBuilder
String.Join
var res = words.Aggregate(
new StringBuilder(),
(current, next) => current.Append(current.Length == 0? "" : ", ").Append(next))
.ToString();