1. 程式人生 > >C#_基礎_結構Struct(八)

C#_基礎_結構Struct(八)

AR AS TE int 基礎 run C# console his

一般情況下,不建議使用結構。

結構中可以包含多種不同類型的字段,方法

定義一個結構:

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         }

C#_基礎_結構Struct(八)