繁体   English   中英

使用C#的字典和单选按钮

[英]Dictionary and radio button with c#

嗨,我正在制作代表男性和女性的单选按钮,以及分别是2008年和2010年的单选按钮集。

它们应该被用来从字典中获取信息,并取决于所选的单选按钮。 他们获得了各自的信息。 有没有人有任何想法可以从字典中获取信息?

private Dictionary<Int32, String> GetLifeExpectancyDictionary(string lifeExpectancyTable)
    {
        Dictionary<Int32, String> returnArray = new Dictionary<Int32, String>();
        switch (lifeExpectancyTable)
        {
            case "MaleTable2008":
                returnArray.Add(0, "75.6");
                returnArray.Add(1, "75.1");
                break;
            case "FemaleTable2008":
                returnArray.Add(0, "80.6");
                returnArray.Add(1, "80.1");
                break;
            case "MaleTable2010":
                returnArray.Add(0, "76.2");
                returnArray.Add(1, "75.7");
                break;
            case "FemaleTable2010":
                returnArray.Add(0, "81.0");
                returnArray.Add(1, "80.5");
                break;
        }

        return returnArray;
    }

字典是键值存储。 为了通过keyDictionary获取数据,您应该使用[key]运算符。

因此,在您的示例中

var dict = GetLifeExpectancyDictionary("something");
var first = dict[0];

如果要获取所有值,则应使用Values属性dict.Value 同样,您可能想检查字典中是否存在键。 为了实现此目的,请使用ContainsKey方法。

看来您完全相反了。 应该是这样的

private Dictionary<string, int> _data;
// Initialize
private void InitData()
{
    _data = new Dictionary<string, int>();
    _data.Add("MaleTable2008_0", 75.6m);
    _data.Add("MaleTable2008_1", 75.1m);
    _data.Add("FemaleTable2008_0", 80.6m);
    _data.Add("FemaleTable2008_1", 80.1m);
    _data.Add("MaleTable2010_0", 76.2m);
    _data.Add("MaleTable2010_1", 75.7m);
    _data.Add("FemaleTable2010_0", 81m);
    _data.Add("FemaleTable2010_1", 80.5m);

}

private decimal GetAvgLifespan(string group)
{
    if (_data.ContainsKey(group))
        return _data[group];

    return 0m;
}

暂无
暂无

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

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