I have a class like below. When I'm assigning values to it , It shows "Object reference not set to an instance of an object"
public class Student
{
public string Name{ get; set; }
public string SurName { get; set; }
public List<Score> Scores { get; set; }
}
public class Score
{
public string Subject { get; set; }
public string Grade { get; set; }
}
And using below code I'm assigning values to it,
Student obj = new Student();
string sql = "SELECT student_name, student_surname dv_students where a.User_id=@User_id";
SqlCommand cmd new SqlCommand(sql,con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@User_id","S1234");
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows) {
while (dr.Read())
{
obj.Name = Convert.ToString(dr["student_name"]);
obj.SurName = (string)dr["student_surname"];
List<Score> Scores = new List<Score>();
int k = 0;
foreach (SubmissionDetail SubmissionDetails in objSubmission.SubmissionDetails)
{
Scores[k].Subject= SubmissionDetails.Subject;//getting exception here
Scores[k].Grade= SubmissionDetails.Grade;
k++;
}
obj.Scores = Scores;
}}}