以下屬性只是乞求的值被兩個getter和setter修改變量的getter和setter方法
因此,而不是計算一次:
public bool this[int x, int y]
{
get
{
return this[x * this.width + y];
}
set
{
this[x * this.width + y] = value;
}
}
它會更好,如果我們可以這樣做:
public bool this[int x, int y]
{
int index = x * this.width + y;
get
{
return this[index];
}
set
{
this[index] = value;
}
}
在這種情況下,這並不是什麼大事,可以使用內聯方法。但作爲一個原則,有沒有辦法?
問題是必須做兩次計算。 – MrFox
@MFFOX:我明白你的意思。在這種情況下,您需要提供某種兌現策略。但事情是*指數*是一個**計算**值,所以直到你還沒有計算它,你不能說它是否與之前一樣。因此,緩存或「價值改變」狀態的識別,可以在該屬性之外的某個地方完成。 – Tigran
@downvoter:原因? – Tigran