【发布时间】:2018-02-11 21:43:30
【问题描述】:
我正在学习电子工程,并且是 C# 的初学者。我已经测量了数据,我想以二维方式存储它。我想我可以像这样制作Dictionary:
Dictionary<Key, string> dic = new Dictionary<Key, string>();
这里的“Key”是我自己的类,有两个 int 变量。现在我想将数据存储在这个Dictionary 中,但到目前为止它不起作用。如果我想用特殊的 Key 读取数据,错误报告说,该 Key 在 Dictionary 中不可用。
这里是类键:
public partial class Key
{
public Key(int Bahn, int Zeile) {
myBahn = Bahn;
myZeile = Zeile;
}
public int getBahn()
{
return myBahn;
}
public int getZeile()
{
return myZeile;
}
private int myBahn;
private int myZeile;
}
为了测试它,我做了这样的事情:
获取元素:
Key KE = new Key(1,1);
dic.Add(KE, "hans");
...
取出元素:
Key KE = new Key(1,1);
monitor.Text = dic[KE];
有人有想法吗?
【问题讨论】:
-
为什么不使用字符串作为键?你到底想在字典中存储什么?你能解释一下用例吗?
-
是的。我有来自 3D 房间扫描仪的数据。扫描仪有两个轴。我想根据两个轴的位置存储消息。因此,如果轴一位于位置 15,轴二位于位置 30,我希望拥有密钥:15,30
-
你在字符串值中存储了什么?
-
这只是为了测试。我有另一个类,其中存储了 4 个双精度值。这将是我想要存储为字典值的数据。
-
不确定这是否可行,但有很多简单的解决方法(例如:使用类名作为键)
标签: c# class dictionary key