Одним LINQом
Одним LINQом.
У нас тут слегка все поменялось и туповатые рекрутеры начали требовать выполнение Кодинг Ассесмент вместе с подачей резюме. причем код хотят не зипом проекта, набивкой на их веб-страничке. ну да это их творчество - пусть дерзают.
Но задачку предложили довольно интересную.
Даны два набора данных.
1. Словарик слово-слово. Исходный формат - строки - слово-пробел-слово.
2. Строки переменной длинны в которых интересует последнее слово.
(не уточнял, а постановке не указано есть ли строки нулевой длины. пустые строки и что считается разделителем, считаем - нет, нет, пробел)
требуется вычленить последнее слово в каждой строке второго набора и подставить вместо него слово из словарика.
Сама задачка пишется минут за 15-20. и то половина времени уйдет на написание чтения файлов.
Что меня интересует.
Пусть 1. и 2. даны в виде массивов строк.
есть ли эффективное и красивое решение LINQом?
вопрос в том, надо ли так извращаться
Dictionary dict = new Dictionary() { { "foo", "bar" } }; string[] lines = { "gsgf sg sd f s s foo", "kjld sdfsd kksdf ff foo" }; lines = lines.Select(line => string.Join(" ", line.Split(' ').Take(line.Split(' ').Length - 1)) + " " + dict[line.Split(' ').Last()] ).ToArray();