2013-01-19 17 views
0

我創建結構元素的數組,必須將它添加到我的dictionary.My代碼下面給出:如何添加結構型數組字典,

struct answerDetails 
{ 
    public string qId; 
    public string question; 
    public string answer; 
    public string hint; 
} 

private answerDetails[] answers; 
private Dictionary<string, answerDetails[]> studList = new Dictionary<string, answerDetails[]>(); 

foreach (var data in dynObj.Success) 
{ 
    foreach (var student in data.Answers) 
    { 
     answers = new answerDetails[student.Ques_Ans.Count]; 

     int i = 0; 
     foreach (var qInfo in student.Ques_Ans) 
     { 
      answers[i].qId = qInfo.qId; 
      answers[i].question = qInfo.question; 
      answers[i].answer = qInfo.answer; 
      answers[i].hint = qInfo.hint; 

      i++;     
     } 
     studList.Add(student.studentId,answers);//raising error... 
    } 
} 

但是,當我加入結構的數組我的字典生成RuntimeBinderException

+4

您使用的陣列,而不是'名單'任何理由嗎?這應該更容易處理。 – Oded

+0

你有選擇使用結構而不是創建類的原因嗎? –

+0

@我必須處理多個數據類型,所以我選擇了struct ...我只給出了字符串中的所有類型......但它也會有一些其他類型... – Saravanan

回答

2

如果它在這條線RuntimeBinderException,您的當前動態的學生可能沒有任何studentId財產或財產可能不可見

+0

Nedelec:你是對的...... – Saravanan