【发布时间】:2016-11-07 11:50:26
【问题描述】:
我在看字典
Dictionary<string, Dictionary<string, int>> personStats
在我的代码中,它会自动生成具有一组特定键 + 值的新“人员”(键)。第一个“字符串”是名称,在嵌套字典中,您有诸如“年龄”、“身高”、“性别”之类的字符串,并带有一个附加的 int 值。
示例:John 年龄:20,身高:180,性别:0(0 代表男性)。
在我的情况下,我想计算特定字符串上的特定 int 值出现了多少次。示例:我的字典中有 100 个人(键),我想知道有多少人的确切“年龄”为 43。
我尝试过使用.Count。示例:personStats.Count(),但它当然会计算第一个字符串(更不用说它没有考虑到我想计算一个特定的 int 值)。我也尝试过foreach,但我不知道如何输入嵌套字典来查找字符串“
编辑:我如何生成新密钥的示例。参数(personname,statType,value)来自其他方法。
public void SetPersonStats(string personname, string statType, int value)
{
if (personStats.ContainsKey(personname) == false)
{
personStats[personname] = new Dictionary<string, int>();
}
personStats[personname][statType] = value;
}
所以参数可以是 (John, age, 20), and (John, height, 180), and (John, gender, 0)。所以最后我会得到带有 3 个附加字符串 + 值的条目(?)约翰:age=20,heigh=180,gender=0。所以想象一下,我运行了 100 次,得到了 100 个随机年龄的不同名字,我想计算有多少人的年龄是 43 岁。
【问题讨论】:
-
你能举几个例子数据吗?生成一个带有一些示例值的值,以及您所期望的值。
-
嗨。我会尝试(我的代码是一团糟,因为我正在努力学习)。
标签: c# dictionary nested