Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何通过动态linq使用数组/列表进行过滤_.net_Dynamic Linq - Fatal编程技术网

.net 如何通过动态linq使用数组/列表进行过滤

.net 如何通过动态linq使用数组/列表进行过滤,.net,dynamic-linq,.net,Dynamic Linq,见鬼 我尝试使用Contains过滤所有已知的变体,但到目前为止没有成功 方法#1 获取以下错误: System.Linq.Dynamic.ParseException:类型“Int32”中不存在“包含”任何适用的方法 方法#2 引发以下错误: System.Linq.Dynamic.ParseException:“不”“它”“在范围内” 那么,如何按列表或数组进行筛选 我正在使用nuget 1.0.7中最新的System.Linq.Dynamic库,不太确定我是否正确理解了您的问题。 但你的意

见鬼

我尝试使用
Contains
过滤所有已知的变体,但到目前为止没有成功

方法#1

获取以下错误:

System.Linq.Dynamic.ParseException:类型“Int32”中不存在“包含”任何适用的方法

方法#2

引发以下错误:

System.Linq.Dynamic.ParseException:“不”“它”“在范围内”

那么,如何按列表或数组进行筛选


我正在使用nuget 1.0.7中最新的System.Linq.Dynamic库,不太确定我是否正确理解了您的问题。 但你的意思是这样的吗? 这是用Lambda表达式解决的

var listA = new[] {1, 2, 3, 5, 8};
var listB = new[] {1, 3, 5, 7, 11};
var res = listA.Where(itemA => listB.Contains(itemA));
// res = {1,3,5}

下面的操作将起作用,但您必须确保
CaseID
和数组值具有相同的类型


ret.Where(@0.Any(outerIt.CaseID=it)”,数组)

这仍然会给我错误
System.Linq.Dynamic.ParseException:“不”it“在范围内”
尝试用列表替换数组参数
ret.Where("@0.Contains(outerIt.CaseID)", {15, 16, 17})
var listA = new[] {1, 2, 3, 5, 8};
var listB = new[] {1, 3, 5, 7, 11};
var res = listA.Where(itemA => listB.Contains(itemA));
// res = {1,3,5}