[英]How to test if a list contains part of a string
我有一個數字列表,我必須檢查一個字符串的多個或單個數字是否在該列表中。
例如,假設我有一個列表list = new List<int> { 2, 3, 4, 5, ... }
strSegment = "2,8"
list = new List<int> { 2, 3, 4, 5, ... }
,字符串為strSegment = "2,8"
。 嘗試list.Contains(strSegment)
顯然不起作用。 有沒有辦法在不分離strSegment
情況下做到這strSegment
?
這是我到目前為止的代碼:
List<string> matchedSegs = ...;
foreach (Common.Ticket tst in lstTST)
{
string segNums = tst.SegNums;
var result = segNums.Split(',');
foreach (string s in result)
{
if (matchedSegs.Contains(s))
{
blnHKFound = true;
break;
}
else
{
strSegsNotFound += tst.strAirSegNums;
blnHKFound = false;
}
}
}
好吧,你可以在不拆分strNumber的情況下完成它,但你還沒有真正解釋為什么需要它。 我認為使用Intersect
拆分是最簡單的方法,我建議先嘗試一下,看看它是否適合你:
var result = strSegment.Split(',').Intersect(numbers);
這是一個更完整的例子:
string strSegment = "2,8";
List<string> numbers = new List<string> { "2", "3", "4", "5" };
var result = strSegment.Split(',').Intersect(numbers);
foreach (string number in result)
{
Console.WriteLine("Found: " + number);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.