2011-07-04 10 views
0

以下は、私がコースのリストを達成するために取得するコードです。しかし、私は、LINQとコードで同じことをしようとしようとしています:LINQのクエリ例外/エラー

Result.AddRange(From k As WorkMateLib.CourseNameSpace.CoursesLib.Category In Courses.CoursesOfferedMAIN.Values Where Not k.CategoryName = "" Select k.Courses.Values.ToList()) 

しかし、次のようにエラーを投げている:

タイプ 「WhereSelectEnumerableIterator 2[WorkMateLib.CourseNameSpace.CoursesLib+Category,System.Collections.Generic.List 1のオブジェクトをキャストすることができません[ WorkMateLib.CourseNameSpace.CoursesLib + Course]] ' を入力して ' System.Collections.Generic.IEnumerable`1 [WorkMateLib.CourseNameSpace.CoursesLib + Course] 'と入力します。

お願いします。よろしくお願いいたします。ありがとうございました。

答えて

2

これは同等である必要があります。自分でリストを作成する必要はありません。

Dim Result = Courses.CoursesOfferedMAIN.Values     _ 
        .SelectMany(Function(cat) cat.Courses.Values) _ 
        .ToList 
+0

あなたは本当に揺れます。助けてくれてありがとう。私は長い間ディクショナリタイプで作業してきましたが、最近Linqを見始めました。あなたのコードは、より良い視点での辞書の使用を理解する上で本当の助けになります。ありがとう、今私はファイルから無駄なコードの行を削除することができます。 :D – surpavan