[解決済み] IList<string> または IEnumerable<string> からカンマ区切りリストを作成する。
2022-03-20 04:45:18
質問
の文字列のカンマ区切りリストを作成する最も簡単な方法は何ですか?
IList<string>
または
IEnumerable<string>
?
String.Join(...)
を操作します。
string[]
のような型がある場合、作業が面倒になることがあります。
IList<string>
または
IEnumerable<string>
は、文字列配列に簡単に変換することはできません。
どのように解決するのですか?
.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Detail & Pre .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);
もっとシンプルに :)
関連
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み] バイトを文字列に変換する
-
[解決済み] なぜlist.join(string)ではなくstring.join(list)なのでしょうか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] カンマ区切りの文字列を配列に変換するにはどうすればよいですか?
-
[解決済み] 文字列を別の文字列で分割する(C#)
-
[解決済み] 文字列のリストからカンマで区切られた文字列を作るには?
-
[解決済み] カンマ区切りの文字列をリストに変換するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】リストをカンマで区切られた文字列に変換する