簡體   English   中英

將2 List <string>與LIKE子句進行比較

[英]Compare 2 List<string> with a LIKE clause

我有2個列表,一個是文件名列表,第二個是文件名存根列表,我想從第一個列表中選擇文件名就像文件名存根一樣的所有內容。

List<string> files = new List<string>() {"a.txt", "b.txt", "c.txt"};
List<string> fileStub = new List<string>() {"a", "b", "c"};

該查詢將返回第一個列表中的所有記錄。

提前致謝。

var results = files.Where(x => fileStub.Any(y => x.Contains(y))).ToList();

如果訂單很重要(當然,使用此示例,如果您不希望IndexOutOfRange例外,則兩個列表的大小很重要)

var res = files.Where((file, index) => file.Contains(fileStub[index]));

如果你不介意訂單(比列表大小不重要)

var res = files.Where(file => fileStub.Any(fs => file.Contains(fs)));
var result = files.Where(item => fileStub.Any(stub => item.Contains(stub))).ToList();

使用AnyContains方法。

List<string> files = new List<string>() {"a.txt", "b.txt", "c.txt"};
List<string> fileStub = new List<string>() {"a", "c"};
var result = files.Where(x => fileStub.Any(y => x.Contains(y))).ToList();

暫無
暫無

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

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