10. 结构和枚举

Posted LiuChangwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10. 结构和枚举相关的知识,希望对你有一定的参考价值。

1、结构:

  (1结构是使用 struct 关键字定义的,与类相似,都是可以包含数据成员和函数成员的数据结构;

  (2)结构是值类型,他在栈中分配空间;而类是引用类型,他在堆中分配空间,栈中保存的只是引用;

  (3)需将结构声明到命名空间的下面,类的外面。表示这个命名空间下的所有类都可以访问这个结构;

2、初始化结构成员:

  、使用参数化构造函数,即使用new关键字;


  二、在声明结构后分别访问成员。

 1     //例:创建一个结构
 2     public struct Clerk
 3     {
 4         //声明变量
 5         public string name;                                 //不能直接对其赋值
 6         public int age;
 7         public string department;
 8         public char gender;
 9         public static string str = null;                    //而静态变量可以初始化
10     }
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             //分别访问成员来初始化结构成员
16             Clerk zs = new Clerk ();                        //实例化
17             zs.name = "张三";
18             zs.gender = ;
19             zs.age = 29;
20             zs.department = "人力部";
21             Console.WriteLine("姓名:{0}\t性别: {1}\t年龄:{2}\t部门:{3}",zs.name,zs.gender,zs.age ,zs.department );
22             Console.ReadKey();              
23         }
24     }

3、枚举

  (1)枚举能使代码更加清晰,他允许使用描述性的名称表示整数值;

  (2)枚举使代码更易于维护,有助于确保给变量指定合法的、期望的值;

  (3)枚举使用 enum 关键字来声明,与类同级。枚举可以在结构中被调用;

  (4)枚举就是一个变量类型。

4、枚举与字符串相互转换方法:

         一、枚举转字符串:如myEnumName.ToString();或Conver.ToString(myEnumName);

         二、(枚举类型)Enum.Parse(typeof(枚举类型),要转换的字符串)//将字符串转换成枚举类型。

 1     //例:创建枚举
 2     public enum Gender
 3     {
 4         男,
 5         女,
 6         不男不女=3,
 7     }
 8     
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             //引用枚举
14             Gender zsGender = Gender.女;
15             Console.WriteLine(zsGender);
16 
17             //转换为整型
18             Console.WriteLine((int )zsGender);
19 
20             //int转换为枚举
21             int myint = 0;
22             Console.WriteLine((Gender)myint);
23 
24             //字符串转换成枚举
25             string mystr = "3";
26             Console.WriteLine((Gender)Enum.Parse(typeof(Gender),mystr));
27             Console.ReadKey();
28         }
29     }

 

以上是关于10. 结构和枚举的主要内容,如果未能解决你的问题,请参考以下文章

10. 结构和枚举

Java中枚举的写法和用法

《算法零基础》第10讲:因子分解和枚举(部分)

“类型‘()’不能符合‘视图’;只有结构/枚举/类类型可以符合协议”

用于网络调用的结构/枚举与类

VSCode自定义代码片段5——HTML元素结构