![](/img/trans.png)
[英]Iterate through list objects to find object with matching property value
[英]Find the first matching string value in a list of objects
我有一個strings
列表,例如: myList
,然后還有一個對象列表,例如myDbObjectsList
該對象看起來像這樣:
public class MyDbObjects
{
public string FirstName { get;set;}
public string LastName {get;set;}
public int ID {get;set;}
}
我想知道是否有任何2名成員myList
(上述第一個)其中之一的值等於名字和另外一個的值等於姓氏從我同一個對象上 myDbObjectsList
?
我解決了它的明顯的方式for-each
荷蘭國際集團通過他們和檢查,看看是不是等於這一個,是不是等於一個等,但我認為應該是人比我聰明能想到一個更有效的方法的?
為了加快搜索速度,您可以將myList
所有字符串放入哈希集中:
var hashSet = new HashSet<string>(myList);
現在檢查myDbObjects
是否存在任何對象,您可以使用Any
:
var isAny = myDbObjects.Any(x => hashSet.Contains(x.FirstName) && hashSet.Contains(x.LastName));
如果要獲取這些對象,請使用Where
var objectsThatMatch = myDbObjects
.Where(x => hashSet.Contains(x.FirstName) && hashSet.Contains(x.LastName));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.