0

私はIListを宣言しています:

Dim OrigVendors as IList
OrigVendors = new List( of IVendors)

OrigVendors変数にデータを入力します。実行したいのは、探しているIDを持つすべてのオブジェクトを見つけることです。次に、見つかったオブジェクトのみについて、そのオブジェクトのプロパティを更新する必要があります。これはIListで可能ですか、それとも他のタイプのコレクションを使用する必要がありますか?VB.netを使用しています

4

1 に答える 1

1

非ジェネリック バージョンの IListとジェネリックリスト クラスを区別すると仮定すると、特定のプロパティでフィルター処理できます。

IList インターフェイスはジェネリック IEnumerableから派生したものではない(むしろ、IEnumerable の非ジェネリック バージョン)ため、System.Linq 名前空間の Enumerable クラスで拡張メソッドの多くを使用することはできません。

ただし、非ジェネリック IList 実装に IVendors の実装のみが含まれていることがわかっている場合は、次のように IEnumerable で Cast 拡張メソッドを呼び出すことができます。

Dim typedVendors = OrigVendors.Cast(of IVendors)

型指定された IEnumerable (IVendors の) を取得したら、選択した任意の LINQ メソッドを使用して、シーケンスを除外し、項目に対して操作を実行できます。

于 2010-12-07T22:04:42.433 に答える