条件演算子「?」ってどう使うの?

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

なんだか便利そうだったので条件演算子「?」を使ってみた。
コマンド画面条件演算用(赤枠)

今回、上記画面に表示したデータを取得してコマンド画面に表示させるが、
そのまま取得すると上記赤枠部分が空文字のまま表示されてしまうので、
条件演算子「?」を使用して赤枠にNULLという文字を入れて表示を行おうと思います。
(※DBには登録しない)

ソース

using System;
using Npgsql;

namespace JoukenEnzan
{
    class Program
    {
        static void Main(string[] args)
        {
            //データを入れる変数を作成します。
            string id = "";
            string name = "";

            //接続する為のインスタンスを生成します。
            NpgsqlConnection conn = new NpgsqlConnection();
            ////DB接続情報を作成します。  
            conn.ConnectionString = @"Server=localhost;
                                    Port=5432;
                                    User Id=user;
                                    Password=pass;
                                    Database=testdb;";
            try
            {
                // 接続します。
                conn.Open();
                //SQL文を発行するクラスを生成します。
                //第一引数にSQL文、第二引数に接続先を入力
                NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM TEST1;", conn);
                //クエリを実行します。
                NpgsqlDataReader reader = cmd.ExecuteReader();

                //DBからデータを読み込む
                while (reader.Read())
                {
                    //DBからデータを取得
                    id = reader.GetValue(0).ToString();
                    name = reader.GetValue(1).ToString();

                    //条件が一致ならNULLを代入
                    //条件が不一致ならnameを代入
                    name = (name.Equals("") || name == null ? "NULL" : name);

                    //取得したデータをコマンドラインに表示
                    Console.WriteLine("ID:" + id + "NAME:" + name);
                }
            }
 
            //例外処理
            catch (Npgsql.PostgresException e)
            {
                Console.Write("エラーが発生しました。");
            }
            //必ず通る処理
            finally
            {  
                // 接続を解除します。 
                conn.Close();
            }
        }
    }
}

表示結果
コマンド画面条件演算(結果)

空文字だった部分にNULLの文字が表示されました!!
(だいぶ無理やりでしたが・・・)

条件演算仕組み

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*

CAPTCHA