使用 linq 检查一个数组中的值是否存在于另一个数组中
本文关键字:数组 存在 另一个 是否 一个 检查 linq 使用 | 更新日期: 2023-09-27 18:32:07
我有一个列表,其中myclass定义了几个属性
List<MyClass> myClassList = new List<MyClass>();
myClassList.Add(new MyClass() { Id = 1, Name = "My first test", Key = "First" });
myClassList.Add(new MyClass() { Id = 2, Name = "My second test", Key = "Second" });
然后我有一个路径,即 c:''my 文件夹''公司名称''我的第一次测试,我使用正则表达式将其分解成一个字符串数组,即 myArrayPath
我想找出是否可以在 myArrayPath 中的任何元素中找到基于给定属性(即名称)的 myClassList 的任何元素,理想情况下我想返回键,但如果我返回与 myArrayPath 中的一个元素匹配的对象,这将同样好。
有没有办法使用 linq 和/或 lambda 表达式来实现这一点。
谢谢。
这可以通过 LINQ 轻松完成:
var keyResult = myClassList.Where(x=>myArrayPath.Contains(x.Name))
.Select(x=>x.Key);
如果您需要以数组列表的形式使用它,只需添加 .ToList()
或 .ToArray()
在最后。