2013-03-06 16 views

答えて

17

あなたは、LINQを使用することができます。

var results = Objects.Where(o => o.Description == "test"); 
サイドノートで

は、Objectは、クラスの名前の非常に悪い選択であることを認識し、そして-があるとしても、コンパイルされません...より適切な名前を選択し、C#の標準的な大文字表記規則に従うことをお勧めします。

1

foreach(Object obj in Objects) 
{ 
    if(obj.description.Contains("test"){ 
     //Object description contains "test" 
    } 
} 
2

同様にリードCopseyはLINQに答えてみてください。 +1。

私の答えはLINQではまだですが、それを書いている私れる好ましい方法で:どこパラメータで

var results = from myobject in myobjects 
       where myobject.description == "test" 
       select myobject; 


、あなたは任意の述語(ブール値を返す関数)に置くことができます。

var results = from myobject in myobjects 
       where MyPredicate(myobject) 
       select myobject; 
+0

ちょうどFYI - これが「現代」もうありません - 私のバージョンとの両方が同じコンパイラのリリースで利用可能となっています。この1;) –

+0

私は本当にそれをC#の新しいバージョンで追加されたと思いました。 –

+0

Nope - どちらもC#3で追加されました。使用した統合クエリ構文は同じものにコンパイルされますが、私のバージョンではまだ拡張メソッドとlambdasが必要です - すべて3はC#3の一部でした:http://msdn.microsoft。 com/ja-us/library/bb308966.aspx –

関連する問題