IList<string>
またはからコンマ区切りの文字列値のリストを作成する最もクリーンな方法は何ですかIEnumerable<string>
?
String.Join(...)
は 上で動作するので、や などの型が文字列配列に簡単に変換できないstring[]
場合は扱いが面倒になることがあります。IList<string>
IEnumerable<string>
ベストアンサー1
.NET 4以上
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
詳細と.Net 4.0以前のソリューション
IEnumerable<string>
LINQ (.NET 3.5) を使用すると、簡単に文字列配列に変換できます。
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
必要であれば、同等のヘルパー メソッドを記述するのは簡単です。
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
次に、次のように呼び出します。
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
その後、 を呼び出すことができますstring.Join
。もちろん、ヘルパー メソッドを使用する必要はありません。
// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());
後者はちょっと長いですね :)
これはおそらく最も簡単な方法であり、パフォーマンスもかなり優れています。パフォーマンスが実際にどのようなものかという他の疑問もありますが、これには以下が含まれます(ただし、これらに限定されません)。これです。
.NET 4.0では、より多くのオーバーロードが利用可能になりました。string.Join
なので、実際には次のように書くことができます。
string joined = string.Join(",", strings);
はるかに簡単です:)