我的代码遇到问题,我向您解释我希望获得的内容:
- 我有一个带有字典的列表框,字典允许我将列表框的选择更改为更复杂的值
我的字典代码:
class RacesMask
{
Dictionary<string, string> rMask = new Dictionary<string, string>();
public RacesMask()
{
rMask.Add("Toutes", "-1");
rMask.Add("Humains", "1");
rMask.Add("Orcs", "2");
rMask.Add("Nains", "3");
rMask.Add("Elfes de la nuit", "4");
rMask.Add("Mort-vivants", "5");
rMask.Add("Taurens", "6");
rMask.Add("Gnomes", "7");
rMask.Add("Trolls", "8");
rMask.Add("Gobelins", "9");
rMask.Add("Elfes de Sang", "10");
rMask.Add("Draeneis", "11");
rMask.Add("Worgens", "22");
rMask.Add("Pandarens", "24");
rMask.Add("Sacrenuit", "27");
rMask.Add("Tauren de Haut-Roc", "28");
rMask.Add("Elfe du vide", "29");
rMask.Add("Draeneï sancteforge", "30");
}
public Dictionary<string, string> GetRacesMask() { return rMask; }
}
- 现在,我希望当我选择我的 Listbox 的各种值时,它会进行计算,例如:
选择:人类(我的字典里有 1 个)和兽人(我的字典里有 2 个)
一个消息框向我显示结果 2 + 1 = 3
- 但是,实际上我的列表框只计算一个选定的值,而不计算其他值。
我的列表框代码:
private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e)
{
RacesMask raceMask = new RacesMask();
Dictionary<string, string> rM = raceMask.GetRacesMask();
foreach (var rMask in listBox1.SelectedItems)
{
var selection1 = int.Parse(rM[rMask.ToString()]);
var selection2 = int.Parse(rM[rMask.ToString()]);
var total = selection1 + selection2;
MessageBox.Show(total.ToString());
}
预先感谢您的帮助
