C#_基礎_結構Struct(八)
阿新 • • 發佈:2018-06-10
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 publicchar _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(八)