C#类中的公共变量

时间:2013-08-14 10:58:59

标签: c#

我有一个类在其构造函数中声明了一个2D锯齿状数组,在该类中我有两个名为GetXY和SetXY的方法,用于修改所述数组。

但是,我不确定是否应该使用这些方法或事实上将网格声明为公共,这意味着在数组中设置和读取值有两种方法,如下所示:

    ProceduralGrid pg = new ProceduralGrid(10, 10);

    pg.grid[0][0] = 2;
    pg.SetXY(0, 0, 2);

我应该使用哪一个?为什么?

3 个答案:

答案 0 :(得分:3)

为什么不使用

    public T this[int x, int y]
    {
        get
        {
            return grid[x][y];
        }
        set
        {
            grid[x][y] = value;
        }
    }

自然检查有效的x和y等......

答案 1 :(得分:1)

使用方法访问阵列。 SetXY或建议的索引器是Alessandro。这样,您可以稍后更改实现,而无需更改类接口。

答案 2 :(得分:0)

最好使用方法来设置使用的变量。

这样,您可以保护内部对象,并可以根据需要自由实现额外验证或修改对象。

这使您可以在以后轻松更改该对象的行为。