带有数组的结构是否有意义?

时间:2017-10-06 15:05:07

标签: c# arrays struct

我有以下结构,数组作为第二个字段:

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个字节)。

或者带有数组字段的结构根本没有意义吗?

0 个答案:

没有答案