我希望将字典嵌套在另一个中,以便容纳块的xy坐标.所以我会的
IDictionary<IDictionary<int, int>, IDictionary<int, int>>
Run Code Online (Sandbox Code Playgroud)
并且关键字词将容纳列,行组合,而值Dictionary将容纳x和y坐标.在用户输入平面上的块的值之后,它将用于绘制2D线框.
我有几个问题:1)我可能遇到哪些陷阱?2)是否有更好的方法来应对这一挑战?
谢谢
更新不确定如何标记答案,因为两个不同的建议导致使用的解决方案.我结束了:
IDictionary<KeyValuePair<int, int>, Point>
Run Code Online (Sandbox Code Playgroud)
并且每个块设置下一个块的x,y坐标到其右边和下一个块.
这是Mehrdad Afshari,Reed Copsey和CSharpAtl为KeyValuePair和Cory Charlton为Point提供的答案的组合.
如果有办法标记多个答案,请告诉我,否则我只是将列表中的第一个答案标记为答案.
您是否尝试将一对整数映射到字典?如果是这种情况,你应该使用类似的东西:
Dictionary<Tuple<int, int>, Dictionary<int,int>>
Run Code Online (Sandbox Code Playgroud)
您当前正在做的事情是将IDictionary对象(一种引用类型)映射到另一个IDictionary实例.它只是检查密钥的引用相等性(标识),根本不考虑密钥字典的内容.
如果您尝试将包含一组值的键映射到字典(例如,在记忆和动态编程中有用),则需要声明自己的比较器以比较键的内容,而不是仅仅考虑它们的引用.
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |