2015-04-22 43 views
0

我相信如果我看起來夠堅硬,我可以找到我的答案,但到目前爲止我找不到明確的答案。c#listbox中的項的值

我想要做的是使用列表框中包含7項作爲特定數組元素的數字標識符的項目的值。 (列表中的所有項目都是字符串)

array[listbox.value] = my new data for that array element 

我知道我可以拉動項目的串出,但是,我也可以在列表中找出特定項目。

list1.Items[value].ToString(); 

我只是想知道如果我可以做反向的選擇是一個痛苦的代碼作爲其大量的多行代碼在列表中的字符串,在我的陣列進行比較的每個項目,直到我找到一個匹配,而我知道列表中的所有項目與數組的順序相同。

+0

列表框中的值是整數嗎? –

+0

不,他們是字符串,即Item1,Item2 ... –

+0

@MattFarrell我真的不明白你的問題。如果你想從列表框中的選定值訪問數組,你可以使用屬性listBox1.SelectedIndex給你選擇的索引。 –

回答

2

而不是使用數組,您可以使用字典。

Dictionary<string, valueType> myArray = new Dictionary<string, valueType>(); 
myArray["Item1"] = some value 
myArray["Item2"] = some value 

...等

再後來

myArray[listbox.Value.ToString()] = my new value 

那真是一個字符串值引用數組索引的最佳方式。索引器的類型不一定需要是一個字符串,它可以是唯一可識別的任何類型。

+0

多數民衆贊成在有趣的,但方式四去了我有多個數組並不都包含相同的事情,但數組[5]包含數據,而數組[5]包含一個名稱,涉及到數據我知道我可以做到這一點更有效,但四現在回頭了 –

+0

你可能需要更好地解釋你需要做什麼,那麼你所要求的是不可能的,數組索引器總是整數。另外,千萬不要害怕把東西扔出去並重新開始,我從字面上用超過10萬行代碼的項目將它們扔出窗口,因爲我得到「太遠,無法返回」,事情變得越來越多,這一天更加困難。 –

+0

可能很快就會如此。簡單地說,我問的是有沒有辦法從列表中獲取數字標識符,因爲我確定存在一個,因爲我可以通過指定listbox1.items指向一個項目[x] –