我在字典中有几个键(代表主题),并且每个键关联了几个值(代码)。
代码主题
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);
}
这是一个示例代码 GenSubject
7DIM-062 沟通、提问技巧、决策
7DIM-063 沟通、提问技巧、决策
7DIM-064 沟通、提问技巧、决策
7DIM-065 沟通、提问技巧、决策
7DIM-066 沟通、提问技巧、决策
7DIM-067 沟通、提问技巧、决策
所以我想要实现的是所有要“存储用于通信”的代码,以及用于提问技巧等的相同代码,但当然只有一次。