web-dev-qa-db-ja.com

匿名リストにアイテムを追加する

匿名タイプのリストがあります

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 });

しかし、再び同じエラー。

20
Lali

作成する匿名オブジェクトのプロパティ名を指定する必要があります。

myList.Insert(0, new { ProductName = "--All--", ProductId = 0, Priority = 0});

覚えておいてください-あなたはall匿名タイプのプロパティ(名前は同じでなければなりません)をリストする必要があります、それらは同じ順序で使用されるべきです、そしてそれらはまったく同じタイプを持つべきです。それ以外の場合は、異なる匿名タイプのオブジェクトが作成されます。

31