我有一个类在其构造函数中声明了一个2D锯齿状数组,在该类中我有两个名为GetXY和SetXY的方法,用于修改所述数组。
但是,我不确定是否应该使用这些方法或事实上将网格声明为公共,这意味着在数组中设置和读取值有两种方法,如下所示:
ProceduralGrid pg = new ProceduralGrid(10, 10);
pg.grid[0][0] = 2;
pg.SetXY(0, 0, 2);
我应该使用哪一个?为什么?
答案 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)
最好使用方法来设置使用的变量。
这样,您可以保护内部对象,并可以根据需要自由实现额外验证或修改对象。
这使您可以在以后轻松更改该对象的行为。