C#_基础_结构Struct(八)

一般情况下,不建议使用结构。

结构中可以包含多种不同类型的字段,方法

定义一个结构:

1  public struct Person
2         {
3             public string _name;//命名规范字段前前加下划线
4            public   int _age;
5            public   char _gender;
6            public QQState _state; //枚举类型
7         }

结构声明:调用

1  //声明结构变量,实质上和枚举一样,int 都是变量,
2              Person zhangsan;
3              zhangsan._name = "zhangsan";
4              zhangsan._age = 14;
5              zhangsan._state = QQState.Busy;
6              zhangsan._gender = '';

结构中也可以有方法:

 1  public struct Person
 2         {
 3             public string _name;//命名规范字段前前加下划线
 4            public   int _age;
 5            public   char _gender;
 6            public QQState _state; //枚举类型
 7             public void Run()
 8            {
 9                Console.WriteLine("Run");
10            }

调用:

zhangsan.Run();

 

结构特点:

结构和类不一样,不可以new对象。直接声明对象就可以

结构是值类型,所以对象只在栈中,不会在堆中开空间

结构没有默认的构造函数。

 

给结构加构造方法:必须把结构中所有的字段都赋值才可以

 1  /// <summary>
 2         /// 没有字段的情况
 3         /// </summary>
 4         public struct Student
 5         {
 6             public Student()
 7             {
 8 
 9             }
10             public void Study()
11             {
12 
13             }
14         }

结构new对象:

  Student s = new Student();

 

 1  /// <summary>
 2         /// 有字段的结构
 3         /// </summary>
 4         public struct Person
 5         {
 6             public string _name;//命名规范字段前前加下划线
 7             public int _age;
 8             public char _gender;
 9             public QQState _state; //枚举类型
10           
11             public Person(string name)
12             {
13                 this._name = name;
14                 this._age = 12;
15                 this._gender = '';
16                 this._state = QQState.Busy;
17 
18             }
19 
20             
21         }

 

posted @ 2018-06-10 18:47  CeasarH  阅读(214)  评论(0编辑  收藏  举报