2010-01-06 44 views

Trả lời

8

Bạn cũng phải sử dụng một danh sách khác để so sánh.

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

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

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

mát. Cảm ơn .. Nó hoạt động – Luke101

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

Rob Conery có discussed chủ đề này trước đây.

2

Hoặc thậm chí đơn giản hơn:

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

Đó là một sự xấu hổ, chúng tôi phải đặt mới [] đó. Nó sẽ không được mát mẻ nếu chúng ta chỉ có thể làm {1, 7, 3, 5}. Thay vào đó? : D –

1

Có lẽ một cái gì đó giống như:

HashSet<int> categories = new HashSet<int>() { 1, 2, 8, 23, 109}; 
posts = posts.Where(post => categories.Contains(post.catid)); 
Các vấn đề liên quan