0

我想使用A[:,2]在编程语言中非常普遍的语法访问该类的实例。

假设,我有一些类ClassA,其属性中有一个二维双精度数组,Content并创建了它的一个实例 A。

如果我想通过 访问A.Content[2,3]A[2,3]我需要在 ClassA 内部构建这个方法:

public double this[int i, int j]
{
    get
    {
        return this.Content[i,j];
    }
    set
    {
        this.Content[i,j]=value;
    }
}

现在,我可以做到"A[2,3]"
作为下一步,我也想做"A[2,:]"(输出将是一维数组),我该如何实现呢?

4

1 回答 1

2

我不相信这是可能的,因为 C# 语言中没有这样的语法(据我所知)。

也许您可以使用某种方法GetRow(2)或类似的方法。

public double[] GetRow(int rowNumber)
{
    var result = new double[this.Content.GetLength(0)];
    for(var i=0; i<result.Length; i++)
    {
        result[i] = this.Content[rowNumber, i];
    }
    return result;
}

a 的相同逻辑GetColumn应该很简单。

于 2013-01-17T10:36:03.287 回答