У меня есть несколько ключей (которые представляют предметы) в словаре, и с этим я связываю несколько значений (кодов) для каждого ключа.
КОД ТЕМА
7DIM-039 Связь
7DIM-040 Связь
7DIM-041 Связь
7DIM-042 Связь
7DIM-043 Связь
чтобы связать каждый предмет (ключ) с несколькими значениями (кодом), я делаю это в своем запросе. я создал словарь
Dictionary<string, List<string>> dict = new Dictionary<string,List<string>>();
while (dbReader.Read())
{
string code = (string)dbReader["CODE"];
string subject = (string)dbReader["SUBJECT"];
if (!dict.ContainsKey(subject))
{
dict.Add(subject, new List<string> { code });
}
else
{
dict[subject].Add(code);
}
}
так это результат
У меня проблема в том, что некоторые из этих ключей разделены точкой с запятой (поэтому на ключ приходится несколько элементов), поэтому, естественно, мне приходится делать разделение.
пример: GenSubject;Карьера; Умение понимать на слух; Личное развитие; Навыки постановки вопросов; Коучинг/наставничество и т.д.
Как я могу разделить эти значения и при этом убедиться, что различные значения кода связаны с каждым значением разделения?
foreach(var kvp in dict)
{
foreach (var s in kvp.Key)
{
//splitting the subject keys?
}
}
Я также использовал сплит-метод
static string[] SplitStringAt(string splitItem, char character)
{
return splitItem.Split(character);
}
Это пример CODE GenSubject
7DIM-062 Коммуникация, умение задавать вопросы, принятие решений
7DIM-063 Коммуникация, умение задавать вопросы, принятие решений
7DIM-064 Коммуникация, умение задавать вопросы, принятие решений
7DIM-065 Коммуникация, умение задавать вопросы, принятие решений
7DIM-066 Коммуникация, умение задавать вопросы, принятие решений
7DIM-067 Коммуникация, умение задавать вопросы, принятие решений
так что я хочу добиться, чтобы все коды были «сохранены для общения» и те же коды для навыков постановки вопросов и т. д., но, конечно, только один раз.
dict
, или вы хотите разделить их только при выводе? - person siger   schedule 13.02.2013