2010-12-20 14 views
2

"List.Find"メソッドを使用して、クラス内の要素との一致を検索しようとしています。ここに例があります...クラスリスト内のクラス要素を検索

class MyClass 
{ 
    String item1; 
    String item2; 
} 

List<MyClass> myClassList = new List<MyClass>(); 

// I am trying to find all instances of "MyClass" in the list "myClassList" 
// where the element "item1" is equal to "abc" 
// myClassList.Find(item => .item1 == "abc"); ????? 

とにかく、私は少し良く説明することを願っています。私は最後の部分について混乱しています。だから私の質問は:List.Findを使用して、クラスのリスト内の要素の一致を見つける方法を教えてください。

ありがとうございました。わからない場合はお知らせください。上記のコードは、 "ABC" に等しいプロパティitem1ですべてのオブジェクトが返され

var items = myClassList.Where(x => x.item1 == "abc"); 

答えて

7

あなたの例はほぼあります。

List<MyClass> results = myClassList.FindAll(x => x.item1 == "abc"); 

それとも、あなたはあなたの結果がIEnumerable<T>ではなくList<T>として入力することを好むならば、あなたはLINQのWhereメソッドを使用することができます:あなたは、おそらくFindAll方法使用する必要があります

IEnumerable<MyClass> results = myClassList.Where(x => x.item1 == "abc"); 
+0

くそを... I私はそれを試みましたが、あなたが正しいです、これは私が必要としていたものです。ありがとう! – Eric

1

where拡張メソッドを使用します。

関連する問題