Работа со списками и переменными

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
вроде простая задача но не могу сообразить как это лучше сделать, нужно различным переменным присваивать директорию, т.е. если входная переменная "слон" то присваиваем этой переменной путь "c:\слон" , если это "енот" то соответственно "c:\енот" есть переменные которые из одной группы, допустим "африканский слон" то присваиваем тот же путь "c:\слон", таких переменных может быть 40-60 слов, директорий 15-20, ничего умнее чем через свитч я не придумал, возможно ли это сделать более компактно? в файле можно как то прописать список переменных с присвоением директории, как это реализовать?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 765
Благодарностей
2 407
Баллы
113
Забрасываем переменная;путь в файл.
Дальше в любой момент читаем этот файл в список (в данном случае я просто создал список и заполнил его значениями).
А дальше делаем выборку путей по точному сравнению левой части.
И если что-то нашли - тогда возвращаем левую часть (там у нас путь) первого найденного элемента.
Если не нашли - выходим по ошибке (по красной ветке - и дальше уже придумываем какую-то обработку, что делаем, если ничего не было найдено).
Код:
List<string> list = new List<string>();
list.Add(@"петя;c:\slon");
list.Add(@"вася;c:\slon");
list.Add(@"миша;c:\slon");
list.Add(@"коля;c:\slon");
list.Add(@"степа;c:\slon");
list.Add(@"иван;c:\slon");

string line = "петя"; // "маша" - не существующий вариант
string[] path_list = list.Where(x => (x.Split(';')[0]== line)).Select(y => y.Split(';')[1]).ToArray();
if(path_list.Length > 0) {
    return path_list[0]; // возвращаем первый найденный путь
}
else {
throw new Exception("Путь не найден"); // возвращаем ошибку - выходим по красной ветке
}
 
Последнее редактирование:
  • Спасибо
Реакции: twisterrr

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
Забрасываем переменная;путь в файл.
Дальше в любой момент читаем этот файл в список (в данном случае я просто создал список и заполнил его значениями).
А дальше делаем выборку путей по точному сравнению левой части...
спасибо, но опять же нужно каждую переменную расписывать с присвоением к директории, а можно как то одной строкой, типа:
петя, вася, миша: c:\slon
коля, степа, иван: c:\enot
???
и подскажите пожалуйста как в C# вставить содержимое списка?
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)