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

関連記事

ORACLEでSPOOL処理の高速化を試す

ORACLEでSPOOL処理の高速化を考えてみた 事の発端は、お客様のお怒りでした・・・ なんで、お客さんに最新版のリリース時には、必ずスキーマ間の比較をすることを徹底しろと言われてしまったと。 まぁ …

[Oracle]破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。

破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。 破棄されたオブジェクトかどうかの判断(MSDK) MSDNでも破棄さ …

C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。 ネットで探すと、 全角スペースが原因 とか出てきたので、SQL内のスペースを全て半角スペースに置き換え …

ORACLEでTO_CHARを使用し、カンマ区切りデータを出力する

帳票出力を行うPGで困った。 数値形式のデータのため、カンマ区切りで表示したいんだけど、テンプレートの制約のせいで上手く行かなくて時の解決方法。 帳票のテンプレートとなるファイルのセルは文字列形式。 …

[C#]$を使ったstring.formatの別の書き方

str += $"(文字列) = {x}"; 保守で、機能修正を行う必要があって、修正をしていたところ、こんな書き方をしているプログラムがありまして・・・ なんだこりゃ??? とな …


カテゴリー