2015-02-24 112 views
-2

當我嘗試在asp.net頁面中運行此代碼時,出現此錯誤「對象未設置爲對象的實例」錯誤試圖來回列表讀出的數據的在消息框中顯示它們時c#列表不返回值「對象引用未設置爲對象的實例」

using System; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Collections.Generic; 

public partial class Applications_Establishment_Test2 : System.Web.UI.Page 
{ 

    public class MYLIST 
    { 
     public string S_NUM; 
     public string NAME_E; 
     public string Dir; 

     public MYLIST(string s_num, string name_e, string dir) 
     { 
      s_num = S_NUM; 
      name_e = NAME_E; 
      dir = Dir; 
     } 

    } 

    public List<MYLIST> GetLista(string Snum) 
    { 
     List<MYLIST> UserInfo = new List<MYLIST>(); 

     UserInfo.Add(new MYLIST(Snum, "John", "HR")); 

     return UserInfo; 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     List<MYLIST> UserInfo = GetLista("AB1234"); 
     MessageBox.Show(UserInfo[0].S_NUM.ToString()); 
    } 
} 

錯誤觸發

MessageBox.Show(的UserInfo [0] .S_NUM.ToString());

誰能幫助請

回答

1

的原因是你沒有初始化類的構造函數中的字段,但參數變量。由於這個原因,這些字段仍然是null,這導致NullReferenceException。所以用這個來代替:

public class MYLIST 
{ 
    public string S_NUM; 
    public string NAME_E; 
    public string Dir; 

    public MYLIST(string s_num, string name_e, string dir) 
    { 
     this.S_NUM = s_num; 
     this.NAME_E = name_e; 
     this.Dir = dir; 
    } 

我總是在前面加上this.防止這種紕漏。

另外,ASP.NET中沒有MessageBox,但是您應該使用use the debugger

+0

非常感謝 – 2015-02-24 16:17:47

相關問題