将项添加到匿名列表
我有一个匿名类型的列表
var myList = db.Products.Select(a => new {a.ProductName, a.ProductId, a.Priority}).ToList();
我想在此列表中添加其他项目,例如
myList.Insert(0, new { "--All--", 0, 0}); //Error: Has some invalid arguments
我也试过了
myList.Add(new { "--All--", 0, 0}); //Error: Has some invalid arguments
我怎样才能做到这一点?
编辑:
我在第一次回答后这样做了
var packageList = db.Products.Select(a => new { a.ProductName, a.ProductId, a.Priority }).ToList(); packageList.Insert(0, new { ProductName = "All", ProductId = 0, Priority = 0 });
但同样的错误。
您应该指定您创建的匿名对象的属性名称:
myList.Insert(0, new { ProductName = "--All--", ProductId = 0, Priority = 0});
请记住 – 您应该列出匿名类型的所有属性(名称应该相同),它们应该以相同的顺序使用,并且它们应该具有完全相同的类型 。 否则将创建不同匿名类型的对象。