2011-02-10 3 views
0

У меня есть список номеров, и я должен проверить, находятся ли в этом списке несколько или одиночные числа строки.Как проверить, содержит ли список часть строки

Например, предположим, что у меня есть список list = new List<int> { 2, 3, 4, 5, ... } со строкой strSegment = "2,8". Попытка list.Contains(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; 
     } 
    } 
} 
+0

Вы можете расширить вы, например, немного, сканируете ли вы последовательность чисел в списке и это список длинной строки или объекта списка? –

+0

По сути дела, вы ищете 2, а затем 8? –

+0

Просто ищите, если «2,8» существует, но «2» находится в строке списка – Spooks

ответ

2

Ну, вы можете сделать это без разделения 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); 
} 
+0

no linq :(просто ищет, чтобы вернуть true, если моя часть моей строки находится в моем списке строк – Spooks

+0

@Sppoks: Почему бы не LINQ? Вы используете C# 2.0? Пожалуйста, будьте более конкретными в отношении ваших требований * *, а не того, что они * не являются *. –

+0

Извините, 2.0 – Spooks

Смежные вопросы