0

我有 2 个课程,主题和设置。一个主题有一个主题名称和一个设置列表作为属性。一个设置有一个键、一个值和另一个可选的设置列表。

截至目前,我有一个主题列表和一个从数据库中检索到的设置列表。我想将好的设置与好的(主题/设置)联系起来

例子 :

Topic#1.TopicName = Grandpa
Setting#1.Key = Grandpa/Papa
Setting#2.Key = Grandpa/Mama
Setting#3.Key = Grandpa/Papa/Baby

根据我的格式,Topic#1 有一个设置列表(Setting#1 和 Setting#2) Setting #2 包含一个设置列表(Setting#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();
}

我现在的问题是 Topic#1 将始终具有设置​​列表(#1,#2 AND #3),因为它包含字符串“Grandpa”。我只希望 Topic#1 包含 Setting#1 和 Setting#2 我希望能够将 Setting#3 添加到正确的位置 (Setting#2) Setting#3 = Grandpa/Papa/Baby ----- - > 设置#2= 爷爷/爸爸 那么我的设置#2 将转到主题#1 有什么想法吗?

4

1 回答 1

0

尝试这个 string parent = "^"+ topic.TopicName + "/[^/]*$";

于 2013-10-29T17:17:53.580 回答