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. 结构和枚举的主要内容,如果未能解决你的问题,请参考以下文章