代码:
DataTable dt = Utility.GetProductByCatalogIds2("662, 663, 664, 665,666");
List<object> listproduct1 = new List<object>();
List<object> listproduct2 = new List<object>();
List<object> listproduct3 = new List<object>();
List<object> listproduct4 = new List<object>();
List<object> listproduct5 = new List<object>();
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["catalogID"].ToString() == "662" || dt.Rows[i]["parentId"].ToString() == "662")
{
listproduct1.Add(new
{
productID = dt.Rows[i]["productID"].ToString(),
ProductImg = dt.Rows[i]["ProductImg"].ToString(),
shortDesc = dt.Rows[i]["shortDesc"].ToString(),
ProductName = dt.Rows[i]["ProductName"].ToString(),
ProductPrice = dt.Rows[i]["ProductPrice"].ToString(),
});
` 而对于其他4个列表是相同的,我只更改CatalogID。我得到以下错误:
和85个相同的错误:
这可能是个愚蠢的问题,但我不知道该怎么做:(请你告诉我我做错了什么。
答案 0 :(得分:2)
从图像看来,你正在使用.Net framework 2.0和c#编译器的版本,它不支持匿名类型,因此也不支持错误。默认情况下,C#编译器的2.0版将与.Net framework 2.0一起使用,并且不支持匿名类型。
更新.Net框架版本或从.Net framework 3.5或更高版本(如果已安装)指定应用程序池。
答案 1 :(得分:1)
我认为问题在于你使用的是.NET框架版本2或3,它默认使用C#2编译器,不支持对象初始化器。
Object initializers在C#3中引入。