2010-04-15 66 views
0

我想在按鈕單擊事件中創建一個列表...每次點擊按鈕時,都應該創建一個與上一個名稱不同的名稱的新列表... 任何人都可以請幫助我...我卡上...創建列表<string>動態

+2

你是什麼意思,「一個新的名單應該創建不同的名稱」?也許你可以發佈一個你已經試過的東西的例子,這樣我們可以更好地感受你想要做的事情。 – 2010-04-15 05:53:24

+2

列表中沒有名稱... *變量*和*字段*具有名稱。這聽起來像你可能想要一個列表或列表字典的列表。 – 2010-04-15 05:55:23

+0

public列表 str = new列表(); 公共無效校驗() { 對(INT I = 0;我 ... 上面給出的代碼是buttonclick2,我想每次在buttonclick3中創建一個新列表... – Shiv 2010-04-15 06:00:17

回答

2

更好地創造List<List<string>>

List<List<string>> lls = new List<List<string>>(); 

Button_Click() 
{ 
    List<string> str = new List<string>(); 
    for (int i = 0; i < sub.Count; i++) 
    { 
     if (checkbx[i].Checked == true) 
     { 
      str.Add(checkbx[i].Text); 
     } 
    }  
    lls.Add(str); 
} 

因此他們的名字將是LLS [0],LLS [1],...等

+0

嘿,非常感謝...但是我有點困惑......如何在lls [0]上單擊按鈕添加項目,然後在下一個按鈕單擊時單擊lls [1]等等... – Shiv 2010-04-15 06:11:05

+0

它被添加到列表中的順序lls是自動的。第一個按鈕點擊將它添加到lls [0],第二個按鈕將添加到lls [1]等等。在你的代碼中,我可以看到str是包含所有checkedbox文本的列表。只需將它添加到像這樣的集合lls:for循環後面的lls.Add(str) – Amsakanna 2010-04-15 06:21:23

0

名單對象沒有名字,變量有名字。

動態創建變量通常是無用的,特別是在編譯語言中。您需要的是一個可以存儲多個列表的集合,例如列出清單:

public List<List<string>> str = new List<List<string>>(); 

public void check() { 
    List<string> subs = new List<string>(); 
    for (int i = 0; i < sub.Count; i++) { 
    if (checkbx[i].Checked) { 
     subs.Add(checkbx[i].Text); 
    } 
    } 
    str.Add(subs); 
} 
0

使用列表的字典,其中的關鍵是列表的名稱和值列表本身。

//Defining Dictionary 
Dictionary<string, List<string>> ListDict = new Dictionary<string, List<string>>(); 

//Add lists in Dictionary 
OnClick(string listname) 
{ 
ListDict.Add(listname, new List<string>()); 
} 

//Add values in List 
ListDict[listname].Add("xyz");