[英]Fastest way to cross check 2 Lists with eachother
檢查list2中是否存在來自list1的字符串值的最有效方法是什么?
偽代碼示例
StringList List1 = {"a", "b", "c", "d"};
StringList List2 = {"d", "c", "b", "a"};
foreach (string a in List1)
{
foreach (string b in List2)
{
if(a==b)
{
WriteLine("match");
}
}
}
這種方法太慢了,無法成為最佳解決方案,我使用的平台是BI#,它是C#的派生產品。 Array.Exists在當前庫中不存在。
您可以使用Intersect
:
var allIntersections = List1.Intersect(List2);
foreach(string match in allIntersections)
Console.WriteLine(match);
如果您只想知道至少一個相交:
bool anyExist = allIntersections.Any();
將List轉換為逗號分隔的字符串,可以使用標准的InString
函數,在這種情況下,該函數稱為StringContains
;
foreach (string a in List1)
{
if(StringContains(a, NewString))
{
WriteLine("Match");
}
}
bool flag= list2.Except(list1).Any();
如果list1不包含list2的全部,則為true。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.