C#基础Ⅵ❶-枚举、结构体

简介: C#基础Ⅵ❶-枚举、结构体

一、枚举

枚举是什么(what)

枚举是一组命名整型变量。枚举类型是使用enum关键字声明的,是一些固定范围的值。(C#枚举是值类型,枚举包含自己的值,不能继承或传递继承)

注意:在类上面声明,命名空间下面

枚举的声明语法

public enum<枚举类型名>

{

值1,

值2

};

使用枚举的优点(why)

1、使用方便:用谁点谁就行

2、更规范

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

4、节约内存空间:举例:1代表数学,2代表语文,3代表英语。这三个科目都是string类型。但1这三个数字是char类型,char比string占用空间少。

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();
    }
}

结构体

概念(what)

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


使用结构体的好处(why)

一次声明多个不同类型的变量。为减少需要声明多次不同类型变量的冗余现象,声明一个结构体,里面可以有不同的类型的变量

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

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

声明语句(how)
[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();
 }
相关文章
|
6月前
|
存储 C#
C#数据类型之结构体介绍
C#数据类型之结构体介绍
|
6月前
|
数据处理 C# C++
如何使用C#和C++结构体实现Socket通信
如何使用C#和C++结构体实现Socket通信
282 0
|
6月前
|
程序员 C#
深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
枚举是一个特殊的“类”,表示一组常量(不可更改/只读变量)。 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项:
66 0
|
1月前
|
C#
C# 枚举(Enum)
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。
41 9
|
2月前
|
存储 C# 开发者
枚举与结构体的应用:C#中的数据组织艺术
在C#编程中,枚举(`enum`)和结构体(`struct`)是非常重要的数据类型。枚举用于定义命名常量集合,提高代码可读性;结构体则封装相关数据字段,适合小型数据集。本文从基本概念入手,探讨它们的使用技巧、常见问题及解决方案,帮助开发者更好地利用这些特性构建健壮的应用程序。
41 8
|
3月前
|
存储 C#
揭秘C#.Net编程秘宝:结构体类型Struct,让你的数据结构秒变高效战斗机,编程界的新星就是你!
【8月更文挑战第4天】在C#编程中,结构体(`struct`)是一种整合多种数据类型的复合数据类型。与类不同,结构体是值类型,意味着数据被直接复制而非引用。这使其适合表示小型、固定的数据结构如点坐标。结构体默认私有成员且不可变,除非明确指定。通过`struct`关键字定义,可以包含字段、构造函数及方法。例如,定义一个表示二维点的结构体,并实现计算距离原点的方法。使用时如同普通类型,可通过实例化并调用其成员。设计时推荐保持结构体不可变以避免副作用,并注意装箱拆箱可能导致的性能影响。掌握结构体有助于构建高效的应用程序。
111 7
|
3月前
|
开发框架 .NET C#
C#语言进阶(四) 枚举器和迭代器
C#语言进阶(四) 枚举器和迭代器
35 0
|
6月前
|
安全 API C#
C#.Net筑基-类型系统②常见类型--枚举Enum
枚举(enum)是C#中的一种值类型,用于创建一组命名的整数常量。它们基于整数类型(如int、byte等),默认为int。枚举成员可指定值,未指定则从0开始自动递增。默认值为0。枚举可以与整数类型互相转换,并可通过`[Flags]`特性表示位域,支持位操作,用于多选场景。`System.Enum`类提供了如`HasFlag`、`GetName`等方法进行枚举操作。
|
6月前
|
存储 C#
C#.Net筑基-类型系统②常见类型--结构体类型Struct
本文介绍了C#中的结构体(struct)是一种用户自定义的值类型,适用于定义简单数据结构。结构体可以有构造函数,能定义字段、属性和方法,但不能有终结器或继承其他类。它们在栈上分配,参数传递为值传递,但在类成员或包含引用类型字段时例外。文章还提到了`readonly struct`和`ref struct`,前者要求所有字段为只读,后者强制结构体存储在栈上,适用于高性能场景,如Span和ReadOnlySpan。
|
存储 C#
C#基础⑥.1——枚举、结构体
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。也就是一些固定范围的值。