Рейтинг:
20
john1990_1
Я сделал это...
classaV aV=new classaV();
class classaV
{
// Declare an array to store the data elements.
bool[,,] aVt = new bool[9, 9, 9];
// Define the indexer to allow client code to use [] notation.
public bool this[int x, int y, int s]
{
get { return aVt[x, y, s]; }
set
{
if (value == false)
{
if (aVt[x, y, s])
{
progressMade = true;
}
}
aVt[x, y, s] = value;
}
}
}
Рейтинг:
10
Peter Vegter
Я вижу. Вы используете индексатор и не можете перевести " это " в свойство, потому что свойства не допускают нескольких аргументов.
Если вы не хотите использовать свой новый класс: для получения значения просто используйте: bool value = aVt[x, y, z]; а для установки значения используйте, например: SetaVt(1, 2, 3, true);
public void SetaVt(int x, int y, int z, bool value)
{
if (value == false)
{
if (aVt[x, y, s])
{
progressMade = true;
}
}
aVt[x, y, s] = value;
}
john1990_1
Большое спасибо...
Peter Vegter
Пожалуйста. Удачи вам в вашей игре!
Рейтинг:
1
Peter Vegter
Вы имеете в виду что-то вроде этого (э-э, не это)?
public int[,,] PropertyName
{
get
{
return aVt;
}
set
{
// ...
aVt = value;
}
}
john1990_1
могу ли я использовать его следующим образом: propertyName[x1, y1, s1]=true;?
и это действительно так: aVt[x1, y1,s1]=true; а мой код выше?
Dave Kreskowiak
Что происходит, когда вы пытаетесь это сделать?
Peter Vegter
Что означает "aVt[x1,y1,s1]=true"? Массив с 3 целыми числами (или булами) сам по себе не обладает свойством "true".
Если вы объясните, что вы хотите сделать, возможно, я смогу помочь вам еще немного...
PS. вы можете изменить "имя свойства" на имя, которое вам нравится.
john1990_1
Я знаю, что могу изменить имя свойства, но мне жаль, что я был почти уверен, что это не то, что я ищу, и именно поэтому я не пытался, мне нужно проверить, является ли новое значение bool в трехмерном массиве ложным, а существующее значение истинным, и установить прогресс, достигнутый в решении судоку, на true, в решении, которое вы дали, я не могу проверить это, пожалуйста, посмотрите мой код, я хочу точную копию без имени: "this".