我对字典和编码非常陌生,我希望能得到一些关于我应该如何构造我的字典的建议。
我有一个收集器号码,里面有电表。每个电表都有一个电表号和一个ert号,并希望同时存储表号和ert号。每个表的读数、时间戳和值都会有一个列表。另外,我希望能够通过ert号或仪表号来选择值。我已经为字典附上了当前的结构,但不知道这是否是编排词典的最佳方式。有人建议过对象,但我以前从未使用过对象。
{
Dictionary<Int32, Dictionary<string, Meter>> dictionary = new Dictionary<int, Dictionary<string, Meter>>();
if (!dictionary.ContainsKey(objectID))
{
dictionary.Add(objectID, new Dictionary<string, Meter>());
}
Meter meter = new Meter();
meter.ertNumber = "9480:1";
meter.meterNumber = "fsadfa";
meter.Reading = new Dictionary<Int32, double>();
meter.Reading.Add(0, 6);
dictionary[objectID].Add("Test", meter);
}
class Meter
{
public String ertNumber { get; set; }
public String meterNumber { get; set; }
public Dictionary<Int32, double> Reading { get; set; }
}发布于 2013-04-16 19:12:49
如果您有一个Meters的集合,并且希望能够找到一个基于属性的集合,我将这样做:
创建一个List of Meters,l说。
List<Meter> l = new List<Meter>();然后实现像这样的扩展方法。
public static class MeterExt
{
public static Meter GetByErm(this List<Meter> l, String sErm)
{
Meter r = l.Find(s => s.ertNumber == sErm);
return r;
}
public static Meter Get(this List<Meter> l, String sMeter)
{
Meter r = l.Find(s => s.meterNumber == sMeter);
return r;
}
}这样你就能找到你的计价器。
Meter m = l.Get("fsadfa");https://codereview.stackexchange.com/questions/25143
复制相似问题