我试图将数据存储在字典中,其中键是ID,值是类类型。类属性并非全部同时添加,所以我还没有使用构造函数 - 除非有一种方法可以在不同的时间使用构造函数添加新值?下面的代码编译,但我得到一个运行时错误,说已经添加了密钥。谢谢你的帮助。
public class Students
{
public string FirstName { get; set; }
public string SurName { get; set; }
public int Age { get; set; }
public double Score { get; set; }
}
public void cmdTEST_Click(object sender, EventArgs e)
{
Dictionary<int, Students> Data = new Dictionary<int, Students>();
Data.Add(5, new Students { FirstName = "Bob" });
Data.Add(5, new Students { Age = 34 }); // run time error - "key already added"
Data.Add(5, new Students { Score = 62 });
// extract data
double Score5 = Data[5].Score;
double Age5 = Data[5].Age;
}
答案 0 :(得分:4)
您多次添加相同的密钥,这是不允许的。您可以一次添加所有属性,如下所示
Dictionary<int, Students> Data = new Dictionary<int, Students>();
Data.Add(5, new Students { FirstName = "Bob", Age = 34, Score = 62 });
如果您想稍后添加值,可以使用key
添加值
Data.Add(5, new Students { FirstName = "Bob"});
Data[5].Age = 34;
Data[5].Score = 62;