2010-01-06 1 views

Odpowiedz

8

Musisz użyć innej listy, aby porównać.

List<int> cadIdFoundList = new List<int>(); 

cadIdFoundList.Add(1); 
cadIdFoundList.Add(8); 
// etc. . . 

posts.Where(x => cadIdFoundList.Contains(x.catId)); 
+0

cool. Dzięki ... To działa – Luke101

5
int[] ids = new int[] { 1, 8, 2, 109, 23 }; 
var query = posts.Where(x => ids.Contains(x.catid)); 

Rob Conery ma discussed ten temat wcześniej.

2

Albo jeszcze bardziej prosta:

var query = posts.Where(x => new[] { 1, 8, 2, 109, 23 }.Contains(x.catid)); 
+0

To wstyd, że musimy umieścić to nowe [] tam. Czy nie byłoby fajnie, gdybyśmy mogli po prostu zrobić {1, 7, 3, 5}. :RE –

1

Może coś więcej takich jak:

HashSet<int> categories = new HashSet<int>() { 1, 2, 8, 23, 109}; 
posts = posts.Where(post => categories.Contains(post.catid));