我在方法中有这段代码。我检查过数据只返回表中的8行,而内部Foreach循环只运行8次。但是在将第8个元素添加到列表后,我收到了Stackoverflow错误。
string query = "SELECT * FROM Courses";
var data = base.Select(query);
List<Course> list = new List<Course>();
foreach (DataTable table in data.Tables)
{
foreach (DataRow row in table.Rows)
{
System.Windows.Forms.MessageBox.Show("test1");
var c = new Course();
//c.Id = (int)row[0];
//c.Name = row[1].ToString();
//c.CrHrs = (float)row[2];
list.Add(c);
}
System.Windows.Forms.MessageBox.Show("Test");
}
return list;
答案 0 :(得分:4)
您使用this.Name
作为属性中的返回值是不正确的......因为Name
属性然后在&#34; get&#34;中递归访问自身。存取器。
您需要使用成员变量.....可能this.name
?