【发布时间】:2015-01-22 11:20:29
【问题描述】:
我得到了 JSON 数据,我需要创建不同数量的字典来存储事件。我似乎无法弄清楚或找到并回答这样的事情:
创建字典:
foreach (Identity x in List.Identities)
{
Dictionary<int, int> shop + x.Id = new Dictionary<int, int>();
Dictionary<int, int> de + x.Id = new Dictionary<int, int>();
Dictionary<int, int> sell + x.Id = new Dictionary<int, int>();
}
这样以后我也可以以最高效率输入不同数量的事件:
foreach (Event x in y.events)
{
if ((x.Type.Contains("PURCHASED")){
shop+x.Id.Add(x.timestamp, x.item);
}
if ((x.Type.Contains("SOLD")){
sell+x.Id.Add(x.timestamp, x.item);
}
if ((x.Type.Contains("DESTROYED")){
de+x.Id.Add(x.timestamp, x.item);
}
}
我知道这绝对不是声明这些的方法,但我找不到在字典名称中声明 int 变量的方法。如果这适用于列表,那也可以,我可以foreach。谢谢!
这是避免混淆的类:
public class Event
{
public string Type { get; set; }
public int timestamp { get; set; }
public int item { get; set; }
public int Id { get; set; }
}
public class ParticipantIdentity
{
public int Id { get; set; }
}
【问题讨论】:
-
您可以按名称将它们存储在另一个字典中:
Dictionary<string, Dictionary<int, int>> -
您真的有多个具有相同 ID 的事件吗?你的模型现在让我很困惑。
-
任何给定的事件最多可以有 7 种不同的类型和最多 12 个不同的 ID。在整个事件列表中,每个 ID 可能会有大约 15 个以上。
标签: c# json visual-studio dictionary