-1
私はキーがIDで値がクラスタイプの辞書にデータを保存しようとしています。クラスプロパティはすべて同時に追加されるわけではないので、コンストラクタを別の時に使用して新しい値を追加する方法がない限り、コンストラクタを使用していませんか?以下のコードはコンパイルされますが、キーがすでに追加されているというランタイムエラーが発生します。ヘルプがありがとうございます。辞書に値を追加する<int,class>は一度もありません
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;
}
を追加するために
key
を使用することができますはい、あなたは、そのIDとして5で複数のエントリを追加しています、明白にそれはエラーを投げる – Shiham1つのステートメントだけを使用してください。 ** Data.Add(5、新しいStudents {//ここにすべてのフィールドを入力}); ** –
あなたの質問のタイトルを改善する必要があります –