我们知道,在C#中,除了简单的变量类型外,还有几种复杂的变量-----枚举,结构,数组。数组已经在上一篇博客中介绍了,现在让小编来讲讲枚举和结构吧。
1.枚举
a.枚举的定义:
枚举是一种独特的字段,它是值类型数据,主要用于声明一组具有相同性质的变量。
b.枚举的作用
使用枚举可以增加程序的可读性和维护性。同时,枚举类型可以避免类型错误。
c.枚举的使用
//枚举类型的定义
enum GameState : byte ///修改枚举类型的存储类型,其默认为int;
{
Playing,///默认代表的是整数0;
Pause,///默认代表的是整数1;
Over,///默认代表的是整数2;
}
class Program
{
static void Main(string[] args)
{
//枚举类型的比较
GameState state = GameState.Over;
int num = (int)state;///显式转换
Console.WriteLine(num);
Console.ReadKey();
输出结果为2
说明:在定义枚举类型时,如果不对其进行赋值,默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1;当然,也可以修改枚举数值,可以不连续,但要递增。
2.结构
a.结构的定义
结构是将多个相关的变量包装成为一个整体使用。在结构体中的变量可以是相同、部分相同、或完全不同的数据类型;而枚举则要是相同的数据类型。
b.结构的使用
///结构体的声明,可以把结构体当成几个类型组成一个新的类型
///比如下面这个结构体,由三个float类型组成一个位置
struct Position
{
public float x;
public float y;
public float z;
}
class Program
{
static void Main(string[] args)
{
//当使用结构体声明变量的时候,相当于使用结构体中的所有变量去声明
Position enemy1Position;
enemy1Position.x = 34;//可以通过.加上属性名来访问结构体中指定变量
Position enemy2Position;
enemy2Position.y = 35;
}
例如:
struct LuJin
{
public Direction fangxiang;
public int distance;
}
enum Direction:byte
{
Dong,
nan,
xi,
bei,
}
class Program
{
static void Main(string[] args)
{
LuJin path;//用结构去声明变量
path.distance = 100;
path.fangxiang = Direction.bei;
}
总结:
1.结构是值类型。
2.向方法传递结构时,结构是通过传递值方式传递,而不是作为引用传递的。
3.结构的实例化不可以用new 关键字。
关于结构,小编就先写到这,若有后续修改,再进行补充。欢迎指正!