我有以下结构,数组作为第二个字段:
public struct UncNumber
{
private double _value;
private DependsOn[] _dependencies;
public double Value { get { return _value; } }
public DependsOn[] Dependencies { get { return _dependencies; } }
public UncNumber(double value, DependsOn[] dependencies)
{
_value = value;
_dependencies = dependencies;
}
}
顺便说一下,DependsOn
结构看起来像那样:
public struct DependsOn
{
private int _input;
private double _jacobi;
public int Input { get { return _input; } }
public double Jacobi { get { return _jacobi; } }
public DependsOn(int input, double jacobi)
{
_input = input;
_jacobi = jacobi;
}
}
我查看了以下资源:
但是如果我应该为UncNumber
使用结构或类,我还没有得出结论。我有以下附加注释,为什么我认为在这种情况下结构是更好的选择:
UncNumber
结构进行数学计算,就像我可以使用Complex Structure一样。UncNumber
结构数组的方法。例如:矩阵乘法UncNumber[,] Dot(UncNumber[,] a, UncNumber[,] b)
。UncNumber
结构的很多实例都是非常短暂且不可变的。UncNumber
结构的实例大小为16个字节(双值为8个字节,引用类型/数组依赖性为8个字节)。或者带有数组字段的结构根本没有意义吗?