NullReferenceException可能是.Net程序員遇到最多的例外了, 這個例外發(fā)生的如此頻繁,
以至于人們付出了巨大的努力來使用各種特性和約束試圖防止它發(fā)生, 但時至今日它仍然讓很多程序員頭痛, 今天我將講解這個令人頭痛的例外是如何發(fā)生的.

可以導致NullReferenceException發(fā)生的源代碼

我們先來看看什么樣的代碼可以導致NullReferenceException發(fā)生:

第一份代碼, 調用函數時this等于null導致例外發(fā)生

using System;namespace ConsoleApp1{    class Program
    {        public class MyClass
        {            public int MyMember;            public void MyMethod() { }
        }        
        static void Main(string[] args)        {
            MyClass obj = null;
            obj.MyMethod();
        }
    }
}

第二份代碼, 訪問成員時this等于null導致例外發(fā)生

using System;namespace ConsoleApp1{    class Program
        
		

網友評論