Bu cevap, Aggregatesoruda talep edildiği gibi LINQ ( ) kullanımını gösterir ve günlük kullanım için tasarlanmamıştır. Bu bir kullanmadığı StringBuilderiçin çok uzun diziler için korkunç bir performansa sahip olacaktır. String.JoinDiğ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 Aggregatekullanarak , çok sayıda nesne için iyi performans da dahil olmak üzere normal kodla aynı olan bir varyantı kullanmak istiyorsanız :StringBuilderString.Join
var res = words.Aggregate(
new StringBuilder(),
(current, next) => current.Append(current.Length == 0? "" : ", ").Append(next))
.ToString();