欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 未將對象引用設(shè)置到對象的實例

 更新時間:2022年09月05日 15:54:39   投稿:mdxy-dxy  
c#開發(fā)過程中出現(xiàn)未將對象引用設(shè)置到對象的實例,錯誤一般是下面的原因,軟件中也是因為沒有獲取到數(shù)據(jù)導(dǎo)致,需要的朋友可以參考下

出現(xiàn)“未將對象引用設(shè)置到對象的實例” 錯誤,一般是下面的原因:

1、ViewState 對象為Null。
2、DateSet 為空。
3、sql語句或Datebase的原因?qū)е翫ataReader空。
4、聲明字符串變量時未賦空值就應(yīng)用變量。
5、未用new初始化對象。
6、Session對象為空。
7、對控件賦文本值時,值不存在
8、使用Request.QueryString()時,所獲取的對象不存在,或在值為空時未賦初始值
9、使用FindControl時,控件不存在卻沒有做預(yù)處理
10、重復(fù)定義造成未將對象引用設(shè)置到對象的實例錯誤

很多時候在運行程序時,會出現(xiàn)“未將對象引用設(shè)置到對象的實例”這樣的提示信息,主要是在代碼中重復(fù)定義了造成的,只要將其中一個刪除就可以了。

第一種:重復(fù)定義造成未將對象引用設(shè)置到對象的實例錯誤

一般在C#中造成“未將對象引用設(shè)置到對象的實例”錯誤都是控件名稱與codebehind里面的沒有對應(yīng),對于初學(xué)編程的人,而在編碼中重復(fù)定義也會造成這種問題的產(chǎn)生。

以下是一個例子:

public string[] c;
private void Page_Load(object sender, System.EventArgs e){
aaa();
bbb();
}

private void aaa(){
string[] c=new string[3];
//c=new string[3];
c[0]="我們";
c[1]="西部";
c[2]="學(xué)習(xí)";
}

private void bbb(){
Response.Write(c[0]+c[1]+c[2]);
}

運行后會我們發(fā)現(xiàn),會有以下錯誤產(chǎn)生:

異常詳細(xì)信息: System.NullReferenceException: 未將對象引用設(shè)置到對象的實例。

源錯誤:

行 33: private void bbb()
行 34: {
行 35: Response.Write(c[0]+c[1]+c[2]);
行 36: }
行 37:

很多初學(xué)者都會有疑問:我已經(jīng)定義了變量 public string[] c,而且也進(jìn)行了實例化 string[] c=new string[3],但是為什么在調(diào)用數(shù)組c的時候還會報“未將對象引用設(shè)置到對象的實例”的錯誤呢?

問題出在string[] c=new string[3]這里,在前面已經(jīng)將數(shù)組c定義后,在函數(shù)aaa()中再次將數(shù)組定義,造成前面定義的數(shù)組不能實例化。只需要將 string[] c=new string[3]修改成 c=new string[3] 即可。

第二種:空對象引用導(dǎo)致錯誤

1。控件不存在。
2。執(zhí)行權(quán)限不夠。加ASPNET和EVETRYONE所有權(quán)限。
1、ViewState 對象為Unll。
2、DateSet 空。
3、sql語句或Datebase的原因?qū)е翫ataReader空。
4、聲明字符串變量時未賦空值就應(yīng)用變量。
5、未用new初始化對象。
6、Session對象為空。

補充

C#中報: 未將對象引用設(shè)置到對象的實例這個錯誤一般都是對象為null產(chǎn)生的,下面幾個簡單的例子:

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //string str1 = "";
                //str1 = str1.TrimEnd(','); //不會報錯
 
                //string str2 = null;
                //str2 = str2.TrimEnd(',');//報錯:未將對象引用設(shè)置到對象的實例.
 
 
                List<StarInfo> list = null;
                //if (list.Count > 0 && list != null)
                //{
                //    //邏輯與“&&”
                //    //報錯:未將對象引用設(shè)置到對象的實例.
                //}
 
                //if (list != null && list.Count > 0)
                //{
                //    //邏輯與“&&”
                //    //不會報錯,if()中的條件語句按先后順序去執(zhí)行判斷的,在邏輯與“&&”時:如果第一為flase,后面的判斷條件都不會被執(zhí)行了,以此類推。
                //    //如果第一個為true繼續(xù)執(zhí)行下一個判斷條件。
                //    //注意:我是已if (list != null && list.Count > 0)來解釋說明的。你們要根據(jù)自己寫的條件去推理。
                //}
 
                //if (list.Count > 0 || list != null)
                //{
                //    //邏輯或“||”
                //    //報錯:未將對象引用設(shè)置到對象的實例.
                //}
 
                //if (list != null || list.Count > 0)
                //{
                //    //邏輯或“||”
                //    //報錯:未將對象引用設(shè)置到對象的實例.
                //    //if()中的條件語句按先后順序去判斷的,在邏輯或“||”時:如果第一為flase,后面的判斷條件會繼續(xù)被執(zhí)行,以此類推。
                //    //如果第一個為true后面的判斷條件都不會執(zhí)行了。
                //    //注意:我是已if(list != null || list.Count > 0)來解釋說明的。你們要根據(jù)自己寫的條件去推理。
                //}
            }
        }

火車頭采集軟件啟動任務(wù)運行時,提示:未將對象引用設(shè)置到對象的實例

正在初始化配置,請稍等...
啟動任務(wù)時出錯:未將對象引用設(shè)置到對象的實例。Boolean A0AF549FC79BEB974A2EC34D087596DC6(Boolean, Boolean, Boolean)

解決辦法: 采集規(guī)則復(fù)制一份 黏貼使用即可。

補充:火車頭中也可以退出保存當(dāng)前規(guī)則,然后重新打開,檢查對方網(wǎng)站是否進(jìn)行來源判斷。

相關(guān)文章

最新評論