2010-04-24 77 views
0

相同的命名空間:2種形式。錯誤C#中的字符串列表#

public class Account  //frm1 
     { 
      public string Username; 
      public string Password; 

     } 

     public class ListAcc 
     { 
      public static List<Account> UserList; 
     } 

private void button1_Click(object sender, EventArgs e) 
     { 

      List<Account> UserList = new List<Account>(); 
      Account acc = new Account(); 
      acc.Username = textBox1.Text; 
      acc.Password = textBox2.Text; 
      UserList.Add(acc); 
     } 

private void button2_Click(object sender, EventArgs e) //frm2 
     { 
      string p = frmDangky.ListAcc.UserList[0].Username; // null ->error 
      string p = frmDangky.ListAcc.UserList[0].Password; // null ->error 
     } 

有人能幫我嗎? :(爲什麼我的字符串爲NULL ????????文本框是不是空的...謝謝!

回答

1

你想要更多的東西是這樣的:

public class ListAcc 
    { 
     public static List<Account> UserList = new List<Account>(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     Account acc = new Account(); 
     acc.Username = textBox1.Text; 
     acc.Password = textBox2.Text; 
     ListAcc.UserList.Add(acc); 
    } 

    private void button2_Click(object sender, EventArgs e) //frm2 
    { 
     string p1 = ListAcc.UserList[0].Username; // null ->error 
     string p2 = ListAcc.UserList[0].Password; // null ->error 
    } 
2

button1_Click處理程序中,你要創建一個本地變量UserList,而不是使用靜態的ListAcc.

構件嘗試改變

List<Account> UserList = new List<Account>(); 

ListAcc.UserList = new List<Account>(); 
0

代碼中,我一個完整的混亂。

而你的問題不是文本框(因爲即使它是空的字符串將是「」但從不爲空)。你的問題是靜態UserList永遠不會被設置。

此外,編譯器會警告有關像frmDangky.ListAcc.UserList這樣的結構。它警告有一個原因,所以請至少修復警告。