我有一个我制作的课程,我想将它用于列表但是当我尝试向其中添加数据并循环遍历列表时,我得到的就是该类的地址。我不知道为什么它将其作为值添加。
我的班级
public class Regions
{
public int dataID { get; set; }
public int documentID { get; set; }
public string region_ID { get; set; }
public string region_Name { get; set; }
public string sortID { get; set; }
}
这就是我尝试添加值的方式。查询中包含正确的数据,但列表无法获取数据,只是该类所在的位置。
List<Regions> lst = new List<Regions>();
var q = dt.AsEnumerable()
.Select(region => new {
dataID = region.Field<int>("dataID"),
documentID = region.Field<int>("documentID"),
region_ID = region.Field<string>("Region_ID"),
region_Name = region.Field<string>("Region_Name"),
sortID = region.Field<string>("SortID").ToString()
});
foreach (var d in q)
lst.Add(new Regions() { dataID = d.dataID,
documentID = d.documentID,
region_ID = d.region_ID,
region_Name = d.region_Name,
sortID = d.sortID
});
修改 这是一个链接,我发现它与我想要做的类似,但它似乎没有像我一样的错误。我尝试了这个答案,但对我来说并不适合。 Storing data into list with class
固定 当我在列表中循环时,我没有正确阅读它。
答案 0 :(得分:1)
尝试在Regions
public override string ToString()
{
return region_Name;
}
答案 1 :(得分:1)
实际上你可以一步创建列表
List<Regions> lst = dt.Rows.OfType<DataRow>().Select(region => new Regions{
dataID = region.Field<int>("dataID"),
documentID = region.Field<int>("documentID"),
region_ID = region.Field<string>("Region_ID"),
region_Name = region.Field<string>("Region_Name"),
sortID = region.Field<string>("SortID")
}).ToList();