C# Nullable可空類型


 一個Nullable類型就是基本類型加上一個"是否為null指示器"的合成類型。對於一個類型,如果既可以給他分配一個值,也可以給它分配null引用,我們就說這個類型是可空的。

  可空類型會多了兩個屬性

  1、HasValue  是否有值

  2、Value    獲取值

  來看個DEMO,這個東西,真沒什么好說的。就是容易忘記,如何判斷。

復制代碼
public class Program
    {
        static void Main(string[] args)
        {
            int? avalue = null;
            if (avalue.HasValue)
            {
                Console.WriteLine(avalue.Value);
            }
            else
            {
                Console.WriteLine("avalue的值為null");     //輸出 avalue
            }

            avalue = 10;
            if (avalue.HasValue)
            {
                Console.WriteLine(avalue.Value);        //輸出 10
            }
            else
            {
                Console.WriteLine("avalue的值為null");     
            }

            Console.ReadKey();
        }
    }
復制代碼

  另外還有一種簡便的判斷方法:

復制代碼
    public class Program
    {
        static void Main(string[] args)
        {
            Test();     //輸出 0
            Test(5);    //輸出 5

            //另外還有一個判斷為空的方法,與HasValue類似:
            int? i = null;
            int k = i ?? 0; //雙問號的意思是,如果i為空則k=0,否則k=i
            Console.WriteLine(k);   //輸出 0
            i = 5;
            int j = i ?? 0;
            Console.WriteLine(j);   //輸出 5


            Console.ReadKey();
        }

        //4.0新特性,不傳入參數時 i=0;
        public static void Test(int? i = 0)
        {
            Console.WriteLine(i);
        }
    }
復制代碼

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com