当用户点击确认并查看按钮respactive(键,值)对被存储在哈希表中时,当用户点击查看按钮而不是特定列表项时元素颜色为红色,我想要的是if(key,value)对是否被添加如果用户点击确认按钮,使用评论按钮比我想改变它的值,简而言之这个(键,值)对我存储(问题,答案)所以如果用户不确定答案而不是他点击评论,并且后来他应该能够改变它的答案并标记为确认,所以这个列表项元素颜色变为绿色,我该怎么做
private void AddtoHashTabl(string key, string value)
{
if (hashtable.ContainsKey(key))
{
}
else
{
hashtable.Add(key, value);
}
}
private void Confirm_Click(object sender, EventArgs e)
{
string Q = "";
string A = "";
listView1.Items[Convert.ToInt16(listView1.SelectedItems[0].SubItems[0].Text) - 1].BackColor = Color.Green;
var q = Convert.ToInt16(listView1.SelectedItems[0].Text);
var selectedQuestion = questions[q - 1];
Q = selectedQuestion.Id;
if (radioButton12.Checked == true)
A = "1";
else if (radioButton11.Checked == true)
A = "2";
if (radioButton10.Checked == true)
A = "3";
if (radioButton9.Checked == true)
A = "4";
AddtoHashTabl(Q, A);
}
private void Review_Click(object sender, EventArgs e)
{
string Q = "";
string A = "";
listView1.Items[Convert.ToInt16(listView1.SelectedItems[0].SubItems[0].Text) - 1].BackColor = Color.Red;
var q = Convert.ToInt16(listView1.SelectedItems[0].Text);
var selectedQuestion = questions[q - 1];
Q = selectedQuestion.Id;
if (radioButton12.Checked == true)
A = "1";
else if (radioButton11.Checked == true)
A = "2";
if (radioButton10.Checked == true)
A = "3";
if (radioButton9.Checked == true)
A = "4";
AddtoHashTabl(Q, A);
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢任何帮助
Jon*_*eet 10
只需使用索引器:
hashtable[key] = value;
Run Code Online (Sandbox Code Playgroud)
这将设置或添加一个值 - 因此您可以用AddtoHashTabl该索引器设置器调用替换任何调用.
请注意,最好使用通用集合,例如Dictionary<TKey, TValue>尽可能使用.如今,非泛型集合很少有用.
编辑:要知道价值来自审核或确认按钮的位置,我建议您单独收集(例如HashSet<string>)"确认回复".或者甚至只是两个单独的哈希表,每个按钮一个.或者,您可以拥有一个Answer类,其中包含值和已确认的状态.