我有2个课程,主题和设置。 主题具有TopicName和设置列表作为属性。 设置有一个键,一个值和另一个设置列表作为可选项。
截至目前,我有一个主题列表和我从数据库中检索到的设置列表。 我想将好的设置和好的(主题/设置)
联系起来示例:
Topic#1.TopicName = Grandpa
Setting#1.Key = Grandpa/Papa
Setting#2.Key = Grandpa/Mama
Setting#3.Key = Grandpa/Papa/Baby
根据我的格式,主题#1有一个设置列表(设置#1和设置#2) 设置#2包含设置列表(设置#3)
我的代码现在是
var topicList = new List<Topic>();
foreach (var topics in topicRetrieved)
{
var topic = new Topic()
{
TopicName = topics.Key,
Override = topics.Override,
Source = topics.Source,
};
foreach (var topicSettings in topicSettingRetrieved)
{
string parent = topic.TopicName + "/";
if(System.Text.RegularExpressions.Regex.IsMatch(topicSettings.Key,parent))
{
var setting = new Setting
{
Key = topicSettings.Key,
Value = topicSettings.Value
};
topic.SettingCollection.Add(setting);
}
}
topicList.Add(topic);
}
return topicList.ToArray();
}
我现在的问题是主题#1将始终具有设置列表 (#1,#2和#3)因为它包含字符串“Grandpa”。 我只希望主题#1包含设置#1和设置#2 我希望能够将设置#3添加到正确的位置(设置#2) 设置#3 =爷爷/爸爸/宝贝------&gt;设置#2 =爷爷/爸爸 然后 我的设置#2将转到主题#1 有什么想法吗?
答案 0 :(得分:0)
试试这个string parent = "^"+ topic.TopicName + "/[^/]*$";