初面网初面网

枚举与结构体

枚举

// 枚举的格式
// enum <typeName>{
//   <value1>,
//   <value2>,
// }
enum EState{    // 默认是整型存储。可以更改数据类型。格式为:enum EState:byte{}
  // 枚举项可以转成数字,而且其内部本身是从0开始以1为步长递增的
  Begin,    // 默认代表值是0.可以更改默认值Begin=100,这样后续依次是101,102...
  Doing,
  Pause,
  End
}

EState theState = EState.Begin;
if(theState==EState.Begin){
  Console.WriteLine("开始啦!");
}

int num = (int)theState.Doing;
Console.WriteLine(num);   // 结果是1

结构体

C#中的结构体是值类型的数据结构,使用struct关键字创建。不准确地说,结构体是多种数据类型成员结合而成的数据类型

结构体是值类型

结构体不支持继承。

// 声明结构体
// struct 结构体名
// {
//   数据类型
// }

struct Computer
{
  public string name;

  public string getName()
  {
    return name;
  }

  public void setName(string n)
  {
    name = n;
  }

  public void printName()
  {
    Console.WriteLine(name);
  }
}

public class TheStruct
{
  public static void Main(string[] args)
  {
    string name;
    Computer computer = new Computer();

    // 结构体中可以书写方法,调用方法跟一般函数一样
    computer.setName("万花筒");
    computer.printName();   // 万花筒
    computer.name = "漂亮的万花筒";
    computer.printName();   // 漂亮的万花筒
    name = computer.getName();
    Console.Write(name);
  }
}

更新于 2025/2/26