亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在對象列表中查找第一個匹配的字符串值

在對象列表中查找第一個匹配的字符串值

C#
忽然笑 2022-11-22 16:42:18
我有一個列表,strings例如:myList 然后我還有一個對象列表,例如myDbObjectsList 對象看起來像這樣:public class MyDbObjects{      public string FirstName { get;set;}    public string LastName {get;set;}    public int ID {get;set;}}我想知道是否有任何兩個成員myList(上面的第一個),其中一個的值等于FirstName,另一個的值等于來自我的同一對象的LastName ?myDbObjectsList我用一種顯而易見的方式解決了這個問題,for-each通過它們并檢查它是否等于這個,它是否等于那個等等,但我認為應該有比我聰明的人能想到的更有效的方法?
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

為了加快搜索速度,您可以將所有字符串放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));


查看完整回答
反對 回復 2022-11-22
  • 1 回答
  • 0 關注
  • 104 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號