Appearance
枚举与结构体
枚举
csharp
// 枚举的格式
// 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关键字创建。不准确地说,结构体是多种数据类型成员结合而成的数据类型。
结构体是值类型
结构体不支持继承。
csharp
// 声明结构体
// 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);
}
}