我有一个列表,其中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" });
Run Code Online (Sandbox Code Playgroud)
然后我有一个路径,即c:\ my folders\company name\My First Test,我使用regex闯入字符串数组,即myArrayPath
我想找到myClassList的任何基于给定属性的元素,即Name,可以在myArrayPath的任何元素中找到,理想情况下我想返回Key但是如果我返回匹配myArrayPath中的一个元素的对象,这也一样好.
有没有办法使用linq和/或lambda表达式来实现这一点.
谢谢.
Sav*_*ave 11
使用LINQ可以很容易地做到这一点:
var keyResult = myClassList.Where(x=>myArrayPath.Contains(x.Name))
.Select(x=>x.Key);
Run Code Online (Sandbox Code Playgroud)
如果您需要以数组列表的形式,只需添加.ToList()或.ToArray()在它的最后.
| 归档时间: |
|
| 查看次数: |
11289 次 |
| 最近记录: |