2011-10-27 33 views
6

'daki Lambda eşdeğeri Ben IE'leri olan bir nesne listesi olan bir IEnumerable var. Kimlikleri 1, 2, 7, 8, 9, 10 ve 11 olan nesneleri seçmek istiyorum. Eşdeğer SQL deyiminin LINQ/Lambda eşdeğerini bilmiyorum (select * (1, 2, 7, 8, 9, 10, 11)). LINQ/SQL

Ben böyle bir şey denedim:

var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11}; 
list.ratings= list.ratings.Select(x => movieratings.Contains(x.Value)); 

Ama bu tip argümanları kullanım anlaşılmaktadır edilemez demek gibi bana bir derleme hatası verir.

cevap

12

öyle olmadığını seçme fıkra nerede fıkrada bunu yapmak zorunda filtreleme varsa

var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11}; 
list.ratings = list.ratings.Where(x => movieratings.Contains(x.Value));