我认为我知道如何处理结构,因为我已经用 C 编程多年了。但是,我在试图理解的 C# 程序中遇到了这个结构定义。它由 bool 值填充,并且该结构的每个实例都将成为数组中的一个单元格(此处未显示)。我希望第 3 行中的覆盖用于覆盖基类中的方法“ToString()”。
public struct Cell
{
public bool occupied;
public Cell(bool occupied) { this.occupied = occupied; }
public override string ToString() { return occupied ? "x" : "."; }
}
我理解上面的第一行。我相信我对结构中方法的使用感到困惑,因为我假设上面结构定义中的第二行和第三行是方法。第二行让我很困惑。
谢谢 汤姆
最佳答案
结构中的第二行是结构的构造函数(是的,它基本上是一个方法),它将 bool 值作为参数并将传入的值分配给“占用”字段。
第三行是对 ToString 方法的重写,它被所有东西继承,因为它是 Object 类的内置方法,而 Object 类是 C# 中存在的所有其他对象的父类(super class)。默认情况下,它只输出完全限定的类/结构名称。
关于C# 结构,使用方法处理 Bool 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35244021/