Рекурсивная функция для создания и заполнения вложенного вложенного словаряC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Рекурсивная функция для создания и заполнения вложенного вложенного словаря

Сообщение Anonymous »

Я пытаюсь построить и заполнить структуру данных, состоящую из множества, но переменных, вложенных словарей в C#. В настоящее время я использую рекурсивную функцию для этого. В этом случае соглашение: < /p>

campus-building-floor-sporm-subroom < /p>
< /blockquote>
Структура данных, следовательно, будет < /p>

(dict) [лагерь, (dict) [dict) [dict) [dict) [dict) [dict) [dict) [dict) [dict)
< /blockquote>
, к сожалению, я не могу предположить, что каждый кампус будет иметь одинаковое соглашение о именовании, и заставить каждый кампус переключаться невозможно. Отсюда необходимость сделать эту динамическую. IS: < /p>

Код: Выделить всё

    private dynamic createDataDictionary(List keyList, PrintQueue queue, List queueList, SortedDictionary tempData)
{
string temp = keyList.ElementAt(0).ToUpper();

if (tempData.ContainsKey(temp))
{
keyList.RemoveAt(0);
return createDataDictionary(keyList, queue, queueList, (SortedDictionary)tempData[temp]);
}
else if (tempData.ContainsKey(temp) == false && keyList.Count() > 1)
{
keyList.RemoveAt(0);
tempData.Add(temp, createDataDictionary(keyList, queue, queueList, tempData));
return tempData;
}
else if (keyList.Count() == 1)
{
queueList.Add(queue);
return new SortedDictionary() { { temp, queueList } };
}
else
{
keyList.RemoveAt(0);
return new SortedDictionary { { temp, createDataDictionary(keyList, queue, queueList, tempData) } };
}
}
Как я уже сказал, в настоящее время он не работает, и эта версия на самом деле хуже, чем та, которая функционировала более или менее правильно, но я потерял эту версию по причинам.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... dictionary
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»