Вызов метода из цикла - C#
Формулировка задачи:
Есть List стрингов.
Есть массив стрингов - ключевые слова.
Есть набор методов, которые для каждого ключевого слова делают обработку текста.
Ключевых слов и соответствующих методов очень много.
Цикл перебирает List стрингов и находит, что в выбранной строке присутствует ключевое слово.
Как вызвать соответствующий слову метод?
Может быть можно сделать массив методов или коллекцию методов, и вызвать метод по индексу в соответствии с индексом слова в массиве ключевых слов?
Решение задачи: «Вызов метода из цикла»
textual
Листинг программы
- Dictionary<string, Action<string>> keywordHandlers = new Dictionary<string, Action<string>>();
- keywordHandlers.Add("one", (s) => Console.WriteLine("one found in " + s));
- keywordHandlers.Add("two", (s) => Console.WriteLine("two found in " + s));
- keywordHandlers.Add("three", (s) => Console.WriteLine("three found in " + s));
- List<string> strings = new List<string>();
- strings.Add("123 one 456");
- strings.Add("123 two 456");
- strings.Add("123 three 456");
- foreach (var str in strings)
- {
- foreach (var kv in keywordHandlers)
- {
- if (str.Contains(kv.Key))
- kv.Value(str);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д