0

A[:,2]プログラミング言語の間で非常に普及している構文のようなクラスのインスタンスにアクセスしたいと思います。

ClassAプロパティに 2 次元 double 配列を持つクラスがあり、その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,:]"(出力は1次元配列になります)、どのように実装できますか?

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 に答える