當(dāng)前位置:首頁(yè)>>開(kāi)發(fā)編程>>VS.NET>>新聞內(nèi)容
重復(fù)定義造成未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例錯(cuò)誤
作者:icech 發(fā)布時(shí)間:2004-9-29 10:49:48 文章來(lái)源:西部E網(wǎng)

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

    以下是一個(gè)例子:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace weste
{
 public class study : System.Web.UI.Page
 {
  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è)?;
   c[1]="西部E網(wǎng)";
   c[2]="學(xué)習(xí)C#";

  }

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

  #region Web 窗體設(shè)計(jì)器生成的代碼
  override protected void OnInit(EventArgs e)
  {
   InitializeComponent();
   base.OnInit(e);
  }
  
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 }
}

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

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

源錯(cuò)誤:

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

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

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


最新更新
·C#中使用Split分隔字符串的技
·VS2008開(kāi)發(fā)中Windows Mobile
·PC機(jī)和移動(dòng)設(shè)備上絕對(duì)路徑的
·C#程序加殼的方法(使用Sixx
·當(dāng)前上下文中不存在名稱(chēng)Conf
·請(qǐng)插入磁盤(pán):Visual Studio 2
·用VS.NET讀取Flash格式文件信
·在ASP.NET中使用AJAX的簡(jiǎn)單方
·VS.NET 2005中常用的一些代碼
·安裝VS.NET 2005 SP1補(bǔ)丁全攻
相關(guān)信息
·C#中使用Split分隔字符串的技巧
·PC機(jī)和移動(dòng)設(shè)備上絕對(duì)路徑的獲取(C#)
·C#程序加殼的方法(使用Sixxpack)
·當(dāng)前上下文中不存在名稱(chēng)ConfigurationManager的解決方法
·C#的支付寶Payto接口代碼
·C#實(shí)現(xiàn)窗口最小化到系統(tǒng)托盤(pán)
·解密QQ的MsgEx.db消息文件格式
·QQ的TEA填充算法C#實(shí)現(xiàn)
·C#用Guid獲取不規(guī)則的唯一值(標(biāo)識(shí))
·基于Windows Mobile 5.0的掌上天氣預(yù)報(bào)設(shè)計(jì)
畫(huà)心
愚愛(ài)
偏愛(ài)
火苗
白狐
畫(huà)沙
犯錯(cuò)
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛(ài)
棉花糖
海豚音
我相信
甩蔥歌
這叫愛(ài)
shero
走天涯
琉璃月
Nobody
我愛(ài)他
套馬桿
愛(ài)是你我
最后一次
少女時(shí)代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂(lè)
星月神話(huà)
心痛2009
愛(ài)丫愛(ài)丫
半城煙沙
旗開(kāi)得勝
郎的誘惑
愛(ài)情買(mǎi)賣(mài)
2010等你來(lái)
我叫小沈陽(yáng)
i miss you
姑娘我愛(ài)你
我們都一樣
其實(shí)很寂寞
我愛(ài)雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個(gè)傳說(shuō)
丟了幸福的豬
找個(gè)人來(lái)愛(ài)我
要嫁就嫁灰太狼
如果這就是愛(ài)情
我們沒(méi)有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開(kāi)之前離開(kāi)
不是因?yàn)榧拍畔肽?/a>
愛(ài)上你等于愛(ài)上了錯(cuò)
在心里從此永遠(yuǎn)有個(gè)你
一個(gè)人的寂寞兩個(gè)人的錯(cuò)