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