【发布时间】:2011-07-09 21:19:27
【问题描述】:
我想让大量的类实例返回相同的相似数据字段,就像在这个示例实现中一样:
foreach (SomeClass sc in SomeClasses)
{
System.Console.WriteLine(sc.GetData("1st field"));
System.Console.WriteLine(sc.GetData("Another field"));
System.Console.WriteLine(sc.GetData("and another"));
}
// ---- inside SomeClass:
Dictionary<string, string> myData;
public string GetData(string field)
{
return myData[field];
}
我不喜欢示例中必须反复发生的字符串散列、查找和匹配(我假设 Dictionary 的工作原理)。我真的很想找到更好的方法。
来自 C 世界,我想为所有字段分配一个唯一的整数键,以便我可以更改为数组查找:
// ---- inside SomeClass:
string[] MyData;
public string GetData(int field_key)
{
return MyData[field_key];
}
现在字段查找很高效,但在“数组是邪恶的”时代感觉不太对劲,而且处理 field_key 整数既繁琐又容易出错。
我不知道我是不是在这里追逐性能鬼,只是我想找到一个既高效又干净的设计。
建议?
【问题讨论】:
标签: c# arrays performance dictionary