最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# NullReferenceException解決案例講解

 更新時(shí)間:2021年08月20日 11:36:12   作者:keneyr  
這篇文章主要介紹了C# NullReferenceException解決案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

最近一直在寫c#的時(shí)候一直遇到這個(gè)報(bào)錯(cuò),看的我心煩。。。準(zhǔn)備記下來(lái)以備后續(xù)只需。

參考博客:

https://segmentfault.com/a/1190000012609600

一般情況下,遇到這種錯(cuò)誤是因?yàn)槌绦虼a正在試圖訪問(wèn)一個(gè)null的引用類型的實(shí)體而拋出異常??赡艿脑?。。

一、未實(shí)例化引用類型實(shí)體

比如聲明以后,卻不實(shí)例化

using System;
using System.Collections.Generic;
namespace Demo
{
	class Program
	{
		static void Main(string[] args)
		{
			List<string> str;
			str.Add("lalla lalal");
		}
	}
}

改正錯(cuò)誤:

using System;
using System.Collections.Generic;
namespace Demo
{
	class Program
	{
		static void Main(string[] args)
		{
			List<string> str = new List<string>();
			str.Add("lalla lalal");
		}
	}
}

二、未初始化類實(shí)例

其實(shí)道理和一是一樣的,比如:

using System;
using System.Collections.Generic;
namespace Demo
{
	public class Ex
	{
		public string ex{get; set;}
	}
	public class Program
	{
		public static void Main()
		{
			Ex x;
			string ot = x.ex;
		}
		
	}
}

修正以后:

using System;
using System.Collections.Generic;
namespace Demo
{
	public class Ex
	{
		public string ex{get; set;}
	}
	public class Program
	{
		public static void Main()
		{
			Ex x = new Ex();
			string ot = x.ex;
		}
		
	}
}

三、數(shù)組為null

比如:

using System;
using System.Collections.Generic;
namespace Demo
{
	public class Program
	{
		public static void Main()
		{
			int [] numbers = null;
			int n = numbers[0];
			Console.WriteLine("hah");
			Console.Write(n);
			
		}
	}
}

using System;
using System.Collections.Generic;
namespace Demo
{
	public class Program
	{
		public static void Main()
		{
			long[][] array = new long[1][];
			array[0][0]=3;
			Console.WriteLine(array);
			
		}
	}
}

四、事件為null

這種我還沒(méi)有見(jiàn)過(guò)。但是覺(jué)得也是常見(jiàn)類型,所以抄錄下來(lái)。

public class Demo
{
    public event EventHandler StateChanged;
 
    protected virtual void OnStateChanged(EventArgs e)
    {        
        StateChanged(this, e);
    }
}

如果外部沒(méi)有注冊(cè)StateChanged事件,那么調(diào)用StateChanged(this,e)會(huì)拋出NullReferenceException(未將對(duì)象引用到實(shí)例)。

修復(fù)方法如下:

public class Demo
{
    public event EventHandler StateChanged;
 
    protected virtual void OnStateChanged(EventArgs e)
    {      
        if(StateChanged != null)
        {  
            StateChanged(this, e);
        }
    }
}

然后在Unity里面用的時(shí)候,最常見(jiàn)的就是沒(méi)有這個(gè)GameObject,然后你調(diào)用了它??梢詤⒄赵摬┛停?/p>

https://www.cnblogs.com/springword/p/6498254.html

到此這篇關(guān)于C# NullReferenceException解決案例講解的文章就介紹到這了,更多相關(guān)C# NullReferenceException內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#繪制柱狀圖和折線圖的方法

    C#繪制柱狀圖和折線圖的方法

    這篇文章主要為大家詳細(xì)介紹了C#繪制柱狀圖和折線圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#不登錄電腦啟動(dòng)程序

    C#不登錄電腦啟動(dòng)程序

    本文主要介紹了創(chuàng)建系統(tǒng)服務(wù);開(kāi)啟服務(wù),啟動(dòng)程序。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • C#獲取web.config配置文件內(nèi)容的方法

    C#獲取web.config配置文件內(nèi)容的方法

    這篇文章主要介紹了C#獲取web.config配置文件內(nèi)容的方法,涉及C#配置文件屬性獲取的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#遍歷文件夾及子目錄下所有圖片

    C#遍歷文件夾及子目錄下所有圖片

    這篇文章主要為大家詳細(xì)介紹了C# 遍歷文件夾及子目錄下所有圖片的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • C#根據(jù)Word模版生成Word文件

    C#根據(jù)Word模版生成Word文件

    這篇文章主要為大家詳細(xì)介紹了C#根據(jù)Word模版生成Word文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C#?生成隨機(jī)數(shù)的方法示例

    C#?生成隨機(jī)數(shù)的方法示例

    本文介紹了C#中的Random類,用于生成隨機(jī)數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 可替代log4j日志的c#簡(jiǎn)單日志類隊(duì)列實(shí)現(xiàn)類代碼分享

    可替代log4j日志的c#簡(jiǎn)單日志類隊(duì)列實(shí)現(xiàn)類代碼分享

    簡(jiǎn)單日志類隊(duì)列實(shí)現(xiàn)??砂刺熘茉履甏笮》指钗募?珊?jiǎn)單替代log4j
    2013-12-12
  • C# List實(shí)現(xiàn)行轉(zhuǎn)列的通用方案

    C# List實(shí)現(xiàn)行轉(zhuǎn)列的通用方案

    本篇通過(guò)行轉(zhuǎn)列引出了System.Linq.Dynamic,并且介紹了過(guò)濾功能,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • C# cmd中修改顯示(顯示進(jìn)度變化效果)的方法

    C# cmd中修改顯示(顯示進(jìn)度變化效果)的方法

    好多人想在運(yùn)行或者調(diào)試含有大量數(shù)據(jù)或者比較慢C#程序的時(shí)候能夠顯示自己的程序完成的程度,這里有一個(gè)方法能發(fā)不斷地修改cmd的同一行,以達(dá)到顯示完成百分比的目的
    2013-04-04
  • datagridview實(shí)現(xiàn)手動(dòng)添加行數(shù)據(jù)

    datagridview實(shí)現(xiàn)手動(dòng)添加行數(shù)據(jù)

    這篇文章主要介紹了datagridview實(shí)現(xiàn)手動(dòng)添加行數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評(píng)論

宝清县| 新竹市| 杂多县| 清镇市| 盐津县| 安康市| 蓝山县| 桓台县| 开化县| 郑州市| 辛集市| 龙州县| 莱西市| 南康市| 昭通市| 喜德县| 西林县| 邵东县| 乐都县| 沙河市| 盐源县| 宣威市| 将乐县| 青田县| 商洛市| 当阳市| 郴州市| 临沭县| 沅江市| 中超| 囊谦县| 盐亭县| 六安市| 木兰县| 五华县| 南丰县| 邵东县| 宝兴县| 满洲里市| 靖边县| 唐山市|