775

一部のコレクションを文字列にすばやく変換し、値を区切り記号で区切る関数は C# にありますか?

例えば:

List<string> names-->string names_together = "John, Anna, Monica"

4

2 に答える 2

1485

使用できますString.Join。あなたが持っている場合は、最初List<string>に呼び出すことができます:ToArray

List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());

.NET 4 では、.NETを取るToArrayオーバーロードが存在するため、 . String.JoinIEnumerable<string>

結果:


ジョン、アンナ、モニカ

于 2010-08-26T12:30:38.620 に答える
118

必要に応じてlinqでもこれを行うことができます

var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);

私は Quartermeister の回答で非 linq 構文を好みますが、実行が遅くなる可能性があると思いAggregateます (おそらく、より多くの文字列連結操作)。

于 2010-08-26T12:36:09.140 に答える