2009-05-08 8 views
1
Dim tenItem = From t In _InvalidFeeList _ 
         From i In ItemCount _ 
         Where t.FeeCode <> i.FeeCode _ 
         Order By t.Description _ 
         Ascending Take (10) 


     Dim feeList As List(Of AccessorialFee) = tenItem.ToList() 

「System.generic.listに変換できません」というエラーが表示されています。私は、このエラーのためにすべての上を見て、私のコードは、私はそれを取得しない例hereオブジェクトにLinq:ToListは汎用リストに変換できません

のために働く必要がありますようにそれが見えます。誰かが私がどこが間違っているか教えてくれますか?

編集:私はここで何をしようとしているのか説明する必要があります。私は2つのオブジェクトリストを比較し、FeeCodeがItemCount FeeCodeのオブジェクトと等しくなく、最初の10個のオブジェクトをInvalidFeeListから取る場合、InvalidFeeListからオブジェクトを選択したいと思います。

Dim tenItem = (From t In _InvalidFeeList _ 
         From i In ItemCount _ 
         Where t.FeeCode <> i.FeeCode _ 
         Order By t.Description _ 
         Ascending Take (10)).ToList().GetType() 

答えて

3

問題は、あなたが「から」2を持っていることである:

+0

それでした。ありがとうございました。 – Jack

+0

選択したtは、ItemCountのiと同じフィードコードを持ちます。 _InvalidFeeList内の別のオブジェクトを選択しませんでした – Jack

+0

* which * i? ItemCountのiのすべての値に効果的に加わっています。 ItemCountにFeeCodeの2つの異なる値がある場合、_InvalidFeeList_のすべてのtが潜在的に複数回取得されます。あなたは本当に何をしようとしていますか? –

2

_InvalidFeeListは

[編集]これを試してみて、ブレークポイントとウォッチを追加(AccessorialFeeの)タイプ一覧のではありませんその結果、元のコレクションの種類だけではありません。これは、しかし修正するのは簡単です - ちょうど終わりに投影を追加します。

Dim tenItem = From t In _InvalidFeeList _ 
       From i In ItemCount _ 
       Where t.FeeCode <> i.FeeCode _ 
       Order By t.Description _ 
       Ascending Take (10) _ 
       Select t ' This is the new line ' 

Dim feeList As List(Of AccessorialFee) = tenItem.ToList() 

EDIT:あなたは、そのFeeCodeItemCount内の任意の項目を提示していない_InvalidFeeList内の項目を検索しようとしていますか?もしそうなら、私はこの変更を提案:あなたが見ることができるように

Dim feeCodes = From i In ItemCount Select i.FeeCode 
Dim feeCodeSet = new HashSet(Of FeeCodeType)(feeCodes) 

Dim tenItem = From t in _InvalidFeeList 
       Where Not feeCodeSet.Contains(t.FeeCode) 
       Order By t.Description _ 
       Ascending Take (10) 
Dim feeList As List(Of AccessorialFee) = tenItem.ToList() 

を、私はFeeCodeの種類を知りませんでした、とVBは正確に私の強力なポイントではありませんが、私はあなたが一般的なアイデアを得る願っています。この提案は、LINQ to Objectsを使用していることを前提としています.LINQ to SQLを使用している場合は、それを実行する最善の方法がわかりません。 tenItemにはSelectの句が必要なくなりました。現在は1つのコレクションしか扱っていないためです。

関連する問題