Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
C# 如何在int列表中按属性值筛选列表?_C#_Linq_List_Contains - Fatal编程技术网

C# 如何在int列表中按属性值筛选列表?

C# 如何在int列表中按属性值筛选列表?,c#,linq,list,contains,C#,Linq,List,Contains,我已经定义了两个列表,现在希望通过与filterRIDSRID值匹配的Application属性来过滤eschstory列表 但是,通过过滤掉eschrishistory的LINQ,我得到的返回计数为零。尽管列表中确实包含应用程序属性值与filterRIDS中定义的值匹配的记录 问题: 如何按其他列表中的属性值筛选列表 这是过滤代码的基本要点: List<int> filterRIDS = new List<int> { 115841, 200463 }; List<

我已经定义了两个列表,现在希望通过与
filterRIDS
RID值匹配的
Application
属性来过滤
eschstory
列表

但是,通过过滤掉
eschrishistory
的LINQ,我得到的返回计数为零。尽管列表中确实包含应用程序属性值与
filterRIDS
中定义的值匹配的记录

问题:

如何按其他列表中的属性值筛选列表

这是过滤代码的基本要点:

List<int> filterRIDS = new List<int> { 115841, 200463 };
List<Escalation> escHistory = new List<Escalation>();

//Filter list by RID's matching
escHistory = escHistory.Where(r => r.Application.Contains(filterRIDS.ToString())).ToList<Escalation>();
listfilterrids=新列表{115841200463};
列表历史=新列表();
//按RID的匹配筛选列表
eschhistory=eschhistory.Where(r=>r.Application.Contains(filterRIDS.ToString()).ToList();
您交换了查询

escHistory = escHistory.Where(r => filterRIDS.Contains(int.Parse(r.Application))).ToList();
您交换了查询

escHistory = escHistory.Where(r => filterRIDS.Contains(int.Parse(r.Application))).ToList();

问题是
filterRIDS.ToString()
,它返回
List
类的名称:

"System.Collections.Generic.List`1[System.Int32]"
当然,在
Application
字段中没有包含此值的历史对象。如果要检查
应用程序
字符串是否包含给定列表中的任何字符串:

escHistory = escHistory
     .Where(r => filterRIDS.Any(id => r.Application.Contains(id.ToString())))
     .ToList();

问题是
filterRIDS.ToString()
,它返回
List
类的名称:

"System.Collections.Generic.List`1[System.Int32]"
当然,在
Application
字段中没有包含此值的历史对象。如果要检查
应用程序
字符串是否包含给定列表中的任何字符串:

escHistory = escHistory
     .Where(r => filterRIDS.Any(id => r.Application.Contains(id.ToString())))
     .ToList();

好的,忘了提到
r.Application
是一种类似
123456 MyTestApp
的字符串类型。因此,在我的例子中,在解析到int.
eschhistory=eschhistory.Where(r=>filterRIDS.Contains(int.Parse(r.Application.substring(0,6))).ToList()之前,我将获取子字符串
@BrianJ或您拆分
r.Application.split(“”).First()
Ok忘了提到
r.Application
是类似于
123456 MyTestApp
的字符串类型。因此,在我的例子中,在解析到int.
eschhistory=eschhistory.Where(r=>filterRIDS.Contains(int.Parse(r.Application.substring(0,6))).ToList()之前,我将获取子字符串
@BrianJ或您拆分
r.Application.split(“”).First()