一部のコレクションを文字列にすばやく変換し、値を区切り記号で区切る関数は C# にありますか?
例えば:
List<string> names
-->string names_together = "John, Anna, Monica"
使用できます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.Join
IEnumerable<string>
結果:
ジョン、アンナ、モニカ
必要に応じてlinqでもこれを行うことができます
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
私は Quartermeister の回答で非 linq 構文を好みますが、実行が遅くなる可能性があると思いAggregate
ます (おそらく、より多くの文字列連結操作)。