C#中null值屬於什么變量類型


 

今天學習發現有段代碼的輸出結果有些理解不了,如圖1,輸出的結果全部為 false;

圖1

后來和同事討論研究了一下才明白,原來是這樣:↓

 class Program
    {
        static void Main(string[] args)
        {
            //輸出在屏幕上的
            //string s = "10";
            //bool b=int.TryParse(s,out int i);
            object obj = 10;
            string i1 = obj as string;//obj轉換string失敗這里相當於是賦值了null,相當於聲明了變量之后並未賦值:string i1;
            string i2 = obj as string;
            //i1 = 1;//無法將類型“int”隱式轉換為“string”
            i1 = "hehe";//不報錯
            Console.WriteLine(i1);//"hehe",實際i1是string類型,只不過當一個變量的值為null的時候,他就不是任何類型了
            // Console.WriteLine(i1 is null);
            //Console.WriteLine(obj is int);//true
            Console.WriteLine(i2 is object);//false
            Console.ReadKey();
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM