这段代码有什么问题?我一直得到StackOverlflowException
..
public class Places
{
public string Title { get; set; }
public string Content { get; set; }
public double Latitude { get; set; }
public double Longtitude { get; set; }
public List<Places> allPlaces = new List<Places>
{
new Places { Title = "test", Content = "test\ntest", Latitude = 52.23057, Longtitude = 5.84582 },
new Places { Title = "testt", Content = "dfsdf", Longtitude = 52.35589, Latitude = 4.92119 }
};
}
答案 0 :(得分:5)
由于allPlaces
是一个实例字段,因此在构造Places
对象时会初始化它。所以你创建了一个Places
对象,它创建了一个List<Places>
,它在它的集合初始化器中创建了另一个Places
对象,它创建了另一个List<Places>
自己的...结束递归。
您可能想要创建一个静态allPlaces
字段,该字段只能创建一个列表。将static
关键字添加到字段中,如下所示:
public static List<Places> allPlaces = ...