制作网格并初始化正方形



我正在尝试为填字游戏制作一个基本的网格,我正在尝试将一个正方形初始化为白色,并将其线索编号初始化为-1。我不知道从这里到哪里去。

public enum TColor { WHITE, BLACK };
public class Square
{
public TColor Color { set; get; } // Either WHITE or BLACK
public int Number { set; get; } // Either a clue number or -1 (Note: A BLACK square 
is always -1)

// Initialize a square to WHITE and its clue number to -1 (2 marks)
pubic Square(TColor Color, int Number)
{
}
}

如果您不想用其他初始值创建Square,只需初始化属性并依赖默认构造函数:

public class Square
{
public TColor Color { set; get; } = TColor.WHITE;
public int Number { set; get; } = -1;
}

如果你确实想用其他初始值创建一个实例,那么你需要为此提供一个构造函数,所以你也需要提供一个无参数构造函数:

public class Square
{
public TColor Color { set; get; } = TColor.WHITE;
public int Number { set; get; } = -1;
public Square() { }
public Square(TColor color, int number)
{
Color = color;
Number = number;
}
}

您可以选择让无参数构造函数调用另一个构造函数:

public class Square
{
public TColor Color { set; get; }
public int Number { set; get; }
public Square() : this(TColor.WHITE, -1) { }
public Square(TColor color, int number)
{
Color = color;
Number = number;
}
}

最新更新