第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

比較用戶的兩個列表

比較用戶的兩個列表

C#
當(dāng)年話下 2022-12-24 12:44:18
我有一個預(yù)定義的列表 List words.Say 它有 7 個元素:List<string> resourceList={"xyz","dfgabr","asxy", "abec","def","geh","mnbj"}比方說,用戶輸入“xy+ab”,即他想搜索“xy”或“ab”string searchword="xy+ ab";然后我必須在預(yù)定義列表中找到所有具有“xy”或“ab”的單詞,即所有被“+”分割的單詞因此,輸出將具有:{"xyz","dfgabr","abec",""}我正在嘗試類似的東西:resourceList.Where(s => s.Name.ToLower().Contains(searchWords.Any().ToString().ToLower())).ToList()但是,我無法構(gòu)建 LINQ 查詢,因為有 2 個數(shù)組,我看到的一種方法是連接 2 個數(shù)組,然后嘗試;但是由于我的第二個數(shù)組只包含第一個數(shù)組的一部分,所以我的 LINQ 不起作用。
查看完整描述

3 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗 獲得超4個贊

您需要先將搜索模式與+符號分開,然后您可以輕松找出列表中哪些項目包含您的搜索模式,

var result = resourceList.Where(x => searchword.Split('+').Any(y => x.Contains(y.Trim()))).ToList();

在哪里:

resourceList的是

List<string> resourceList = new List<string> { "xyz", "dfgabr", "asxy", "abec", "def", "geh", "mnbj" };

搜索模式是,

string searchword = "xy+ ab";

輸出:(來自調(diào)試器)

http://img1.sycdn.imooc.com//63a683b90001e6f702060108.jpg

查看完整回答
反對 回復(fù) 2022-12-24
?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗 獲得超7個贊

嘗試以下不需要 Regex :


            List<string> resourceList= new List<string>() {"xyz","dfgabr","asxy","abec","def","geh","mnbj"};

            List<string> searchPattern = new List<string>() {"xy","ab"};


            List<string> results = resourceList.Where(r => searchPattern.Any(s => r.Contains(s))).ToList();



查看完整回答
反對 回復(fù) 2022-12-24
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗 獲得超13個贊

您可以嘗試在Linq的幫助下進(jìn)行查詢:


List<string> resourceList = new List<string> {

  "xyz", "dfgabr", "asxy", "abec", "def", "geh", "mnbj"

};


string input = "xy+ ab";


string[] toFind = input

  .Split('+')

  .Select(item => item.Trim()) // we are looking for "ab", not for " ab"

  .ToArray();


// {"xyz", "dfgabr", "asxy", "abec"}

string[] result = resourceList

  .Where(item => toFind

     .Any(find => item.IndexOf(find) >= 0))

  .ToArray();

 

// Let's have a look at the array

Console.Write(string.Join(", ", result));

結(jié)果:


xyz, dfgabr, asxy, abec

如果要忽略大小寫,請將StringComparison.OrdinalIgnoreCase參數(shù)添加到IndexOf


string[] result = resourceList

  .Where(item => toFind

     .Any(find => item.IndexOf(find, StringComparison.OrdinalIgnoreCase) >= 0))

  .ToArray();


查看完整回答
反對 回復(fù) 2022-12-24
  • 3 回答
  • 0 關(guān)注
  • 98 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號