Использование C# Linq для проверки, содержит ли строка части списка строк - PullRequest
3 голосов
/ 04 августа 2020

У меня есть список строк под названием TheListOfFruits "apple", "banana", "peach"

У меня есть строка под названием TheFullString = "thebasketofapples"

Я хочу знать, содержит ли TheFullString его части в TheListOfFruits

На данный момент это то, что я делаю:

foreach(string s in TheListOfFruits)
{
    if (TheFullString.Contains(s) == true)
    {
        return;
    }
}

Итак, в этом случае "thebasketofapples" содержит "apple"

Есть ли хороший Linq- как это написать?

Ответы [ 3 ]

5 голосов
/ 04 августа 2020

Any возвращает истину, если элемент удовлетворяет условию. Этот код эквивалентен вашему:

if(TheListOfFruits.Any(s => TheFullString.Contains(s))
{
   return;
}
0 голосов
/ 04 августа 2020

Вот ответ:

var theListOfFruits = new List<string>() { "apple", "banana", "peach" };
        var theFullString = "thebasketofapples";

        bool result = theListOfFruits.Any(a => theFullString.Contains(a));
0 голосов
/ 04 августа 2020

Вы можете написать так, используя linq, используя любую функцию

if (TheListOfFruits.Any(t => TheFullString.Contains(t))) 
{
   return; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...