1

バインド可能なlinqでこれを行う方法があるかどうか疑問に思っています:

var LeftItems = AllItems.Where(p => !RightItems.Contains(p)));

AsBindable() を自由に使用しようとしましたが、うまくいきません..

var LeftItems = AllItems.AsBindable().Where(p => !RightItems.AsBindable.Contains(p)));

これが BindableLINQ でサポートされていない場合、私が見ていない巧妙な回避策がありますか、それともそれをサポートする別の同様のパッケージがありますか?

4

3 に答える 3

0

Exceptメソッドをお探しだと思います。

var LeftItems = AllItems.Except(RightItems);

それがバインド可能なlinqに実装されているかどうかはわかりません。

それ以外の場合は、 Obticsを試してください。

于 2009-08-24T21:48:45.460 に答える
0

.Where() メソッドは最後に実行されるメソッドであるため、.Where() 拡張メソッドの結果の型は leftItems が持つ型になります。結果をバインド可能にしたい場合は、次のようにするだけでよいと思います。

var leftItems = AllItems.Where(p => !RightItems.Contains(p)).AsBindable();
于 2009-06-28T09:16:20.810 に答える