C#基础⑥.1——枚举、结构体

简介: 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。也就是一些固定范围的值。

20200904123235140.png


一、枚举


什么是枚举?


枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。也就是一些固定范围的值。


C#枚举是值类型。枚举包含自己的值,且不能继承或传递继承


使用枚举有什么好处?


节约内存空间。如,比方,现在要往数据表里存储一些信息:1代表苹果,2代表桃子,3代表西瓜,苹果这三个词都是字符串类型,1这三个阿拉伯数字都是char类型,char类型比string类型更节约空间;


使用方便。想用谁点谁就可以了;


更规范;


可以进行类型之间强转换,以不同形式输出(每个符号代表一个整数值,按顺序排列,默认从0开始)。


如何声明枚举?


语法:


[public] enum <枚举类型名>
{
      值1,
      值2
};


枚举值之间的类型转换:


public enum Gender                                                //声明枚举类型  public访问修饰符,有一些固定的范围的值
{
    男,
}
class Program
{
   static void Main(string[] args)
    {
       Gender gender = Gender.女;    
       int gender = (int)Gender.女;                                 //enum——>int
       Gender gender = (Gender )1;                                  //int——>enum
       string num = gender.ToString();                              //string——>enum
       Gender gender = (Gender)Enum.Parse(typeof(Gender), "女");    //enum——>string
       Console.WriteLine(num);         //显示枚举值
       Console.ReadKey();
    }
}


二、结构体


结构是什么?


它使得一个单一变量可以存储各种数据类型的相关数据。struct关键字来创建


为什么要使用结构体(好处)?


一次性声明多个不同类型的变量。如,如果一个人需要姓名、年龄、性别这个变量,我们就需要声明三次,如果是有成千上万个人的话,难道我们就要声明成千上万个不同的变量吗?这样变量岂不是很冗余。而结构体就减少了这种情况,声明一个结构体,里面可以有不同数据类型的变量


注:结构是值类型,结构成员不能指定为abstract、virtual、protected,结构不支持继承

    结构体中的字段不能赋予初始值;结构存储在栈中

声明语句


[public] struct 结构名
{
结构体成员
}


public enum Gender                        //声明枚举
{
    男,                                    //值
}
public struct Person                       //声明结构体
{
   public string _name;                    //字段,姓名  ,结构体成员
   public Gender _gender;                  //性别
   public int _age;                        //年龄
}
static  void Main(string[] args)
 {  
     Person XDperson;                       //声明XDperson,类型为Person
     XDperson._name = "小邓";
     XDperson._age = 18;
     XDperson._gender = Gender.男;
     Person XJperson;                       //声明XDperson,类型为Person
     XJperson._name = "小姜";
     XJperson._age = 18;
     XJperson._gender = Gender.女;
     Console.WriteLine(XDperson._name);      //打印XDperson的信息
     Console.WriteLine(XDperson._age   );
     Console.WriteLine(XDperson._gender);
     Console.WriteLine();                    //打印一行空行
     Console.WriteLine(XJperson._name);      //打印XDperson的信息
     Console.WriteLine(XJperson._age);
     Console.WriteLine(XJperson._gender);
     Console.ReadKey();
 }
相关文章
|
1月前
|
存储 C#
C#数据类型之结构体介绍
C#数据类型之结构体介绍
|
1月前
|
数据处理 C# C++
如何使用C#和C++结构体实现Socket通信
如何使用C#和C++结构体实现Socket通信
|
3月前
|
程序员 C#
深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
枚举是一个特殊的“类”,表示一组常量(不可更改/只读变量)。 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项:
40 0
|
9月前
|
C#
C#视频-结构体
C#视频-结构体
40 0
|
9月前
|
C#
【C#视频】常量、枚举、结构体、数组
【C#视频】常量、枚举、结构体、数组
|
9月前
|
存储 C#
C#基础Ⅵ❶-枚举、结构体
C#基础Ⅵ❶-枚举、结构体
|
9月前
|
Java C#
C#结构体和类的区别
C#结构体和类的区别
|
存储 C# C++
C# 结构体(Struct)、 枚举(Enum)
C# 结构体(Struct) 在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。 结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:
185 0
|
PHP C# 索引
C#(十)之枚举类型与结构体
枚举类型基本用法;官方给的C#结构体的特点、基本用法。
130 0
C#(十)之枚举类型与结构体