2014年6月1日日曜日

条件演算子とnull合体演算子 - C#ショートプログラミング -

string型の内容を出力したいが、nullの場合は"(null)"と出力する


OLD1
class Program
    {
        static void Main(string[] args)
        {
            string a = "We are the Hello World";
            if (a == null)
            {
                System.Diagnostics.Debug.WriteLine("(null)");
            }
            else
            {
                System.Diagnostics.Debug.WriteLine(a);
            }

        }
    }

OLD2
class Program
    {
        static void Main(string[] args)
        {
            string a = "We are the Hello World";
            System.Diagnostics.Debug.WriteLine(a == null ? "(null)" : a);
        }
    }

NEW
class Program
    {
        static void Main(string[] args)
        {
            string a = "We are the Hello World";
            System.Diagnostics.Debug.WriteLine(a ?? "(null)");
        }
    }

Result

We are the Hello World

・?? はnull合体演算子という。オペランドが null 以外の場合、左オペランドを返し、それ以外の場合は右オペランドを返す。
・C#にしかないようなので汎用性は低い。

引用元:
C#ショートプログラミング





0 件のコメント:

コメントを投稿