【发布时间】:2019-01-02 00:05:05
【问题描述】:
我在 3D 空间(X、Y、Z)中工作。
我有一个 KDTree(感谢 Accord.Net),我正在继承并添加一个属性,该属性具有每个维度的最大值和最小值。我编写了一个构造函数,它从列表中添加值并同时获取最小值和最大值。
树(在我的例子中)可以是 1、2 或 3 维。
如果树有一个维度(X 轴),我想要一个看起来像这样的属性:
Tree.MinMax.X.Min
Tree.MinMax.X.Min
如果我的树有两个维度(比如 Y 和 Z),那么属性将如下所示:
Tree.MinMax.Y.Min
Tree.MinMax.Y.Min
Tree.MinMax.Z.Min
Tree.MinMax.Z.Min
我目前拥有的是一个列表。无法命名列表中的每个项目(据我所知)。
class MinMax
{
internal double Min = double.MaxValue;
internal double Max = double.MinValue;
internal void Add(double value)
{
Min = msf.Min(Min, value);
Max = msf.Max(Max, value);
}
}
这给了我以下语法(很难理解):
Tree.MinMax[0].Min
Tree.MinMax[0].Max
有没有一种方法来命名列表元素或制作一个“灵活的属性,有点像命名元组?
【问题讨论】:
-
我不确定我是否正确...但您可能想要
Dictionary<string, MinMax>?
标签: c# list properties tuples