0

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

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

    ProceduralGrid pg = new ProceduralGrid(10, 10);

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

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

4

3 回答 3

3

为什么不使用

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

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

于 2013-08-14T11:01:05.430 回答
1

使用方法访问数组。建议的索引器或索引器是Alessandro SetXY。这样,您以后可以在不更改类接口的情况下更改实现。

于 2013-08-14T11:02:47.617 回答
0

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

通过这种方式,您可以保护您的内部对象,并且可以根据需要自由实施额外的验证或修改对象。

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

于 2013-08-14T11:02:21.610 回答