2016-12-18 2 views
0

Мне было интересно, можно ли проверить, содержит ли List часть значения. Если он найдет значение, верните значение.Как проверить, содержит ли List часть значения?

E.g. Если List имеет значения 12345, 14567 и 14785, я хочу выполнить поиск, если List содержит «123», Возможно ли это?

Если это могут быть возвращены все значения, содержащие «123»?

Это как добавить значения в список:

recordFailedPO.Add(Convert.ToInt32(dataGWHeight.Rows[0].Cells[0].Value)); 

Это, как я проверяю для части значения:

  if (recordFailedPO.Contains(currentPO)) 
      { 
       // Code Here 
      } 

Где currentPO является пользовательский ввод.

Спасибо за любую помощь

+0

Не обрабатывая их как целые числа. Храните их как или конвертируйте их в строки и используйте '.Where (s => s.Contains (currenyPO)). См. [Duplicate] (http://stackoverflow.com/questions/10488587/find-substring-in-a-list-of-strings). – CodeCaster

ответ

1

попытаться преобразовать строку перед

int res = recordFailedPO.Find(x=>x.ToString().Contains(currentPO)); 

Все значения могут быть возвращены по FindAll.

List<int> res = recordPO.FindAll(x=>x.ToString().Contains(currentPO)): 
2

В этом случае вы можете использовать строковые Contains метод

var containsNumber = recordFailedPO.Where(x => x.ToString().Contains("123")); 
Смежные вопросы