簡體   English   中英

如何測試列表是否包含字符串的一部分

[英]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.

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