class Object
{
public int ID {get; set;}
public string description {get; set;}
}
とオブジェクトのリストをフィルタリング?私はそれを行うだろうか、特定の属性
find every Object in Objects whose description == "test"
class Object
{
public int ID {get; set;}
public string description {get; set;}
}
とオブジェクトのリストをフィルタリング?私はそれを行うだろうか、特定の属性
find every Object in Objects whose description == "test"
あなたは、LINQを使用することができます。
var results = Objects.Where(o => o.Description == "test");
サイドノートで
は、Object
は、クラスの名前の非常に悪い選択であることを認識し、そして-があるとしても、コンパイルされません...より適切な名前を選択し、C#の標準的な大文字表記規則に従うことをお勧めします。
は
foreach(Object obj in Objects)
{
if(obj.description.Contains("test"){
//Object description contains "test"
}
}
同様にリード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;
ちょうどFYI - これが「現代」もうありません - 私のバージョンとの両方が同じコンパイラのリリースで利用可能となっています。この1;) –
私は本当にそれをC#の新しいバージョンで追加されたと思いました。 –
Nope - どちらもC#3で追加されました。使用した統合クエリ構文は同じものにコンパイルされますが、私のバージョンではまだ拡張メソッドとlambdasが必要です - すべて3はC#3の一部でした:http://msdn.microsoft。 com/ja-us/library/bb308966.aspx –