title: C# struct和enum
date: 2019-03-01 00:00:00
categories:

  • 编程语言
    tags:
  • C#

struct用来打包封装一个比较小的数据集

  1. namespace Demo
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. Person person = new Person();//调用时和类一样的实例化
  8. person.age = 10;
  9. Console.WriteLine(person.age);
  10. }
  11. }
  12. struct Person
  13. {
  14. public int age;
  15. public string name;
  16. public string fname;
  17. }
  18. }

枚举类型(enum)

为了限定变量的可能性,比如天(Days)限定只可能是周一、周二、周三。。。

  1. namespace @enum
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. Console.WriteLine(Days.Monday);
  8. }
  9. }
  10. enum Days
  11. {
  12. Monday,Thuesday,Wenesday,Thursday,Friday,Saturday,Sunday
  13. }
  14. }

枚举类型默认类型对应int,比如(int)Days.Thursday强制类型转换为int结果是3

另外,在.NET Framework 3.5 以后,不管声明什么类型的变量(包括struct、string),都可以用var关键字来代替,var day = Days.Monday;

这样真正需要使用时,C#会自动识别类型并使用。