Подсчёт строк, содержащих набор символов массива - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Вообщем ситуация такая... есть массив к примеру:
string[] Names =
{
	"Лёша", "Дима", "Ваня"
};
Есть textbox1, в котором к примеру:
лёшамолодец
ванямолодец
молодецдима
молодецпетя
Нужно посчитать количество строк в которых содержутся слова "Лёша", "Дима", "Ваня" Я реализовал, но работает невероятно медленно:
for(int a = 0; a < textBox1.Lines.Length; a++)
{
    for(int b = 0; b < Names.Length; b++)
    {
        if(textBox1.Lines[i].Contains(Names[j]))
            count++;
    }
}
Можно это дело как-нибудь ускорить? Буду очень благодарен
А и ещё, совсем забыл:
string[] Names =
{
    "Лёша", "Дима", "Ваня"
};
string[] lastNames =
{
    "Иванов", "Пертов", "Сидоров"
};
лёшамолодец
ванямолодец
молодецдима
молодецпетя
петровпять
сидоровчетыре
олеговичмолодец
Чтобы количество совпадений с 1 масссива выводились в 1 label, а со 2 массива во 2 label и так далее. У меня 8(Восемь) массивов

Решение задачи: «Подсчёт строк, содержащих набор символов массива»

textual
Листинг программы
var count = lines.Count(t => Names.Any(n => t.Contains(n)));

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы