我有一个IEnumerable,它有一个带有id的对象列表.我想选择ID为1,2,7,8,9,10和11的那些对象.我不知道等效SQL语句的LINQ/Lambda等价物(select*where where in(1,2, 7,8,9,10,11)).
我尝试过类似的东西:
var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11};
list.ratings= list.ratings.Select(x => movieratings.Contains(x.Value));
Run Code Online (Sandbox Code Playgroud)
但这给了我一个编译错误,比如说不能从使用中推断出类型参数.
Kev*_*tch 13
如果要过滤,则需要在where子句而不是select子句中执行此操作
var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11};
list.ratings = list.ratings.Where(x => movieratings.Contains(x.Value));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7786 次 |
| 最近记录: |