gpt4 book ai didi

c# - 使用linq检查一个数组中的值是否存在于另一个数组中

转载 作者:行者123 更新时间:2023-11-30 13:31:44 26 4
gpt4 key购买 nike

我有一个列表,其中用一些属性定义了 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 folders\company name\My First Test,我使用正则表达式将其分成一个字符串数组,即 myArrayPath

我想查找基于给定属性的 myClassList 的任何元素,即 Name 是否可以在 myArrayPath 的任何元素中找到,理想情况下我想返回 Key 但如果我返回与元素之一匹配的对象来自 myArrayPath,这也一样好。

有没有办法使用 linq 和/或 lambda 表达式来实现这一点。

谢谢。

最佳答案

这可以使用 LINQ 轻松完成:

var keyResult = myClassList.Where(x=>myArrayPath.Contains(x.Name))
.Select(x=>x.Key);

如果您需要以数组列表的形式,只需在其末尾添加.ToList() 或.ToArray()

关于c# - 使用linq检查一个数组中的值是否存在于另一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com