繁体   English   中英

从字典C#中添加值

[英]Adding value from a dictionary c#

我有一种添加标签页的方法,并为标签页创建了字典,因为它们应该显示在其每个Mode(Key)中

我想在前端遍历我的SwitchMode方法,并添加标签页。

我的代码:

    [Flags]
    public enum Mode
    {
        Start = 1,
        Test = 1 << 1,
        Config = 1 << 2,
    }

遍历字典->在这里我需要帮助-如何添加所有标签页,不仅是第一个,而且这样的遍历是正确的吗?

public void SwitchMode (Mode mode)
        {
            foreach (var m in _tabDict)
            {
                if (m.Value == Mode.Start)
                {
                    AddTabPage (_tabDict.First ().Key);
                }
                if (m.Value == Mode.Test)
                {
                    AddTabPage (_tabDict.First ().Key);
                    // AddTabPage (_tabDict.All ()); // doesn't work
                }
                if (m.Value == Mode.Config)
                {
                    AddTabPage (_tabDict.First ().Key);
                }

            }
        }

您可以遍历Keys集合

foreach (Type key in _tabDict.Keys) {
    AddTabPage(key);
}

我不了解您的方案中模式标志的功能是什么。 AddTabPage中未使用它。 因此,一个选项卡和另一个选项卡之间没有区别。

m.Key ,在循环中使用m.Key

public void SwitchMode(Mode mode)
{
    foreach (var m in _tabDict)
    {
        if (m.Value == Mode.Start)
        {
            AddTabPage(m.Key);
        }
        if (m.Value == Mode.Test)
        {
            AddTabPage(m.Key);
        }
        if (m.Value == Mode.Config)
        {
            AddTabPage(m.Key);
        }

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM