[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#]文字を繰り返したものを取得したい。

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

devenvを使って、プロジェクトをコマンドラインからビルドする方法[VisualStudio]

今日も今日とて休日出勤\(^o^)/   現在、C#をメイン言語として使用しています。 で、当然というか、開発の区切りだったり、テストするためにビルドというものをやります。 このビルド、プロ …

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

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

C#:ソースコードのブロック化は必要?

こんにちは、ブロック化の必要性が理解できないSEもどきですw 皆さんは使ってますか? と、さも開発職の人がこのブログに来てるような書き出しですが、個人的に、このブロック化、使いづらいんですよね。 上手 …

c#:高DPI環境化で、画面レイアウトが崩れる問題

自分の環境は高DPI(125%以上)ではないので、意識していなかったけど、客先環境でハマッたので。 状況は、Multirowを使った表部分が、高DPI環境下(125%)だと、レイアウトが崩れる問題。 …


カテゴリー