簡體   English   中英

使用linq檢查另一個數組中是否存在來自一個數組的值

[英]Check if a value from one array exists in another array using linq

我有一個列表,其中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()在它的最后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM