我正在嘗試添加對象(學生)。我在foreach循環中創建一個由學生組成的對象列表,每個列表對象最終引用相同的位置,因此每個列表對象上的信息與循環結束時創建的最後一個學生對象相同。我已經能夠找到的使用foreach循環將對象添加到列表的唯一信息聲明創建了一個新的對象實例,我認爲我正在使用Student stud = new Student線。添加到使用foreach循環的列表
我也嘗試使用默認的構造函數,並使用屬性而不是參數,然後將學生添加到列表中,但是我收到相同的結果。
任何幫助將對象添加到對象列表與foreach循環將不勝感激。
foreach循環:
foreach (DataRow datrow in dt.Rows)
{
Student stud = new Student(
datrow["ID"].ToString(),
datrow["fName"].ToString(),
datrow["lName"].ToString(),
datrow["GPA"].ToString(),
datrow["Graduate"].ToString()
);
studentList.Add(stud);
}
我的學生構造:用於填充DT
OleDbCommand cmd = new OleDbCommand(strSql, con);
con.Open();
cmd.CommandType = CommandType.Text;
OleDbDataAdapter dc = new OleDbDataAdapter(cmd);
dc.Fill(ds, "ID");
dt = ds.Tables["ID"];
const char DELIM = ',';
foreach (DataRow datrow in dt.Rows)
「這個」 信息
public Student(
string studentID,
string fName,
string lName,
string studentGPA,
string graduate)
{
iD = studentID;
firstName = fName;
lastName = lName;
gPA = studentGPA;
grad = graduate;
}
聲明,每個對象指的是重針對每一個新對象寫作
結果
結果怎麼了?我的屏幕對我來說很小,可以製作照片的正面或反面。 – Jacobr365
此代碼看起來正確。你怎麼確定問題出現在這裏而不是別的地方? – David
此外,在第一個屏幕截圖中,當您在構造函數的第一行暫停時,如何填充'this'的值?這似乎很奇怪。 – David