2016-04-04 13 views
-2

(LINQ):Fruitは、次のプロパティ/フィールドがありフィルタリスト私は<code>Fruit</code>のリストを持っている

List<Fruit> 

id 
name 
color 

整数の配列を考える:

int[] ids = new [] {1,2,8}; 

果物を除外するようにリストをフィルタリングするにはどうすればよいですか?idは配列にありますか?

+1

これまでに何を試みましたか?いくつかのコードを表示することができれば、より多くの回答が得られます(たとえそれが機能していなくても)。 –

+0

[LINQを使用してリストから要素を削除する]の可能な複製(http://stackoverflow.com/questions/853526/using-linq-to-remove-elements-from-a-listt) –

答えて

1
var l = new List<Fruit>(); 
var exceptions = new int[] {1,2,8}; 
var filtered = l.Where(x=> !exceptions.Contains(x.id)); 

これは、新しいフィルタIEnumerable<Fruit>を返します。元のリストから項目を削除することはありません。リストから実際に削除するには、代わりに次のように使用してください。

l.RemoveAll(x => exceptions.Contains(x.id)); 
+0

完璧!ありがとうございました! :-) –

関連する問題