[C#]リストをカンマ区切りの文字列で出力する

投稿日:2018-05-23

リストの項目をカンマ区切りで出力したい

卵が先か鶏が先か~って話じゃないんですが、リストで出力した内容をカンマ区切りのデータにする必要が出てきたので、調べました。

List<string> items = new List<string>(){"a","b","c",...};
string str = String.Join(",",items);

これで「a,b,c,…」って文字列で取得できます。

項目数が可変となる項目を変数にする

何でこんな事態になったのかっていうと、そもそも引数が可変ってだけでウンザリなんですが、リスト取得されている項目に、取得したデータが該当するかどうかを判定させる必要が出てきたからなんです。

まぁ、そんだけなら明細単位でループ処理でも関数作成でも何でも出来るけど、今回はSQLで取得する必要がありまして。

元々のデータ自体が「a,b,c」って感じでカンマ区切りな物が、カンマを区切り文字としてリストとして取得されているものを使用する必要があったため、どうしたものかと。

当然ながら、可変の項目のためハードコーディングなんか出来ません。

項目数に応じてWhere句を拡張してもいいんだけど、ループ処理の確認とかも必要だしで面倒だなぁと思ってた矢先に見つけた。

SELECT * 
FROM test_table
WHERE
  CD IN (:cd)

って感じでIN句に入れてやりゃOKだわw

って思ったのが間違いでした。

続く・・・







-C#, ORACLE, 開発メモ
-,

関連記事

C#で”LC.exe” はコード -1 を伴って終了しました(”LC.exe” exited with code -1)ってエラー

未だに確定した原因は自分で掴めてないんだけど、とりあえずエラーで検索して対策してみた。 どうにも、ビルド時にEXEフォルダ?とかにSRCフォルダからのコピーが上手くいかずにロックされてしまったりすると …

no image

OracleでLISTAGG関数を使ったら、世界が変わった話。

11gR2からGROUP_CONCAT(複数行をまとめて1列に)が可能に http://d.hatena.ne.jp/kkz_tech/20150311/1426048592 日本の中心付近で仕様変更 …

「再起動」それは、魔法の言葉:iOSでオンスクリーンキーボードが表示されない問題を解決する

客先へ送付予定の時に発生しました。 iPadを設定していた時に、キーボードが出てこなあい・・・ で、公式ページで下記の内容を発見。   Apple : iOS でワイヤレスキーボードを使った …

Windows 7な会社のPCからOneDriveをアンインストールしたので、その方法を紹介。

参考URL 「OneDrive」を完全にアンインストールする方法 http://www.lifehacker.jp/2015/09/150904_windows_10onedrive.html 参考先 …

C#でTryParseメソッドを使って文字列が数値かどうかを確認する

C#に限らず、コーディングしていると数値が欲しいのに、引数がstring型とかいう状況がよくあるわけで。 判定方法はいろいろあるけど、TryParseを使うと簡単だった。 TryParseって何するの …


カテゴリー