[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, 開発メモ
-,

関連記事

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

よくありますよね・・・ 予期せぬエラーってなんだよ(`・∀・´) 特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません (╹◡╹) (^ω^) :(;゙゚ …

ORACLEで他のスキーマでSQLを実行した時に、権限不足で「ORA-01031: 権限が不足しています。」のエラーになる

A5Mk2 http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/ 普段、SQL関連は、A5Mk2っていうソフトを使用しています。 今回のエラーは、自 …

[C#]文字を繰り返したものを取得したい。

いちいちfor文とかで繰り返すのも効率が悪いなと思ってたので、処理を関数化・・・ ただ、共通関数として登録しないので、別のところで使いたい場合は、同じ関数が複数登録されちゃうことに・・・ 更には、思い …

Excelでシートをコピーする時に、「名前が既に存在します。」と言われるのを回避して、Excel出力を早くしたい。

結論から書いてしまうと、名前の重複を削除しても、Excelの出力は別に早くならなかった。 早くなるという意味だと、手動でシートをコピーした時に、いちいちダイアログの対応をしなくて済むので、自分で作業し …

[ORACLE]ora-12638 資格証明の取出しに失敗しましたと表示される原因と対処法

客先で起こった内容。 状況 客先のdumpを取得するために、用意されているバッチファイルを実行した時に発生 ora-12638 資格情報の取出しに失敗しました バッチファイルの黒い画面で一瞬だけエラー …


カテゴリー