いくつかのコレクションをすばやく文字列に変換し、値を区切り文字で区切るための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ではString.Join
を取るIEnumerable<string>
のオーバーロードがあるのでToArray
はもう必要ありません。
あなたが望むなら、あなたはまたlinqでこれをすることができます
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
私はQuartermeisterの答えでは非linq構文を好んでいますが、Aggregate
は遅くなるかもしれません(おそらくより多くの文字列連結操作)。