私はLinq noobieです。誰かが正しい方向に向けるかもしれません。ここで何が間違っていますか?これらの匿名型は同じシグネチャを持つようです。Linq、VB - 匿名タイプは匿名タイプに変換できません
'*** Get all of the new list items'
Dim dsNewFiles = From l1 In list1 _
Where Not (From l2 In list2 _
Select l2.id, l2.timestamp).Contains(New With {l1.id, l1.timestamp})
は、私は上記のコードで強調表示するいくつかの方法があった希望が、私はコンパイルエラーが出ます:「.Contains(newで{l1.id、L1上の
Value of type '<anonymous type> (line n)' cannot be converted to '<anonymous type> (line n)'.
。タイムスタンプ}) "
匿名の型が何らかの形で異なっていると思われますが、どちらのリストでもidとtimestampの列は同じです。彼らも同じ順序です。両者の違いは何ですか?
[編集] 2009年7月10日午前16時28 EST]
Iは、ユーザメタナイト(newで{キーl1.id、l1.timestamp})から提案コードを試み、それが固定されコンパイルエラー。私はリスト1とリスト2でコードを実行したときただし、次のように:
List1 List2
id timestamp id timestamp
-- ---------- -- ----------
01 2009-07-10 00:00:00 01 2009-07-10 00:00:00
結果だった:
dsNewFiles
id timestamp
-- ----------
01 2009-07-10 00:00:00
それは空のリストされている必要があります。
@ Meta-Knight:洞察に感謝します。コンパイルエラーがなくなりました。しかし、コードはまだ期待どおりに動作しません。上記の編集をご覧ください。 – Daniel
詳細と別の方法で編集しました。 –