0

質問のヘッダーに記載されているタスクを達成する方法を理解するのに少し苦労しています。

基本的に、次のようにNews定義された ' ' オブジェクトのリストがあります。

Dim news_list As List(Of News) = myNamespcae.News.ListNews()

条件によっては、別の「ニュース」オブジェクト リストがあります。

Dim news_headlines As List(Of News) = myNamespace.News.getHeadlines()

次に、List(of News) as; として再び「スポット」があります。

Dim spots = (From n In news_list Take (10) Select n)

私は達成しようとしています。news_headlines が空でない場合、スポットに news_headlines News オブジェクトが存在する場合は、スポットから削除します。フィルタリングされたスポットを返します。

任意のガイダンスをいただければ幸いです..

ありがとう。

4

2 に答える 2

0

から10個を選択してからSpotsフィルターで除外する場合は、次のnews_headlinesようになります(警告:VBのLINQ構文は完全にメモリから):

Dim spots1 = (From n In news_list Take (10) Select n)
Dim spots2 = (From n in spots1 Where Not news_headlines.Contains(n) Select n)

1つを除外してから、news_headlines10を選択する場合は、次のようになります。

Dim spots1 = (From n In news_list Where Not news_headlines.Contains(n) Select n)
Dim spots2 = (From n in spots1 Take (10) select n)

もちろん、2つのクエリを組み合わせることができます。news_headlinesnullではないと仮定していることに注意してください。また、ニュースアイテムは同じオブジェクトインスタンスであるか、実装されていると想定していますIEquatable<T>

于 2013-02-10T14:18:33.803 に答える
0

stackoverflowにも同様の質問があると思います。とにかく、 「Intersect」を使用して、スポットとヘッドラインの両方にある要素を取得し、スポットリストから削除することができます。

コードは簡単なはずですが、しばらくの間VB.netを使用していません。申し訳ありません。

于 2013-02-10T14:18:53.443 に答える