2017年11月4日 vs類和結構的區別&哈希表&隊列集合&棧集合&函數
阿新 • • 發佈:2017-11-04
b- protect htable private turn queue ole 長度 ack
類和結構的區別
類:
類是引用類型在堆上分配,類的實例進行賦值只是復制了引用,都指向同一段實際對象分配的內存
類有構造和析構函數
類可以繼承和被繼承
結構:
結構是值類型在棧上分配(雖然棧的訪問速度比較堆要快,但棧的資源有限放),結構的賦值將分配產生一個新的對象。
結構沒有構造函數,但可以添加。結構沒有析構函數
結構不可以繼承自另一個結構或被繼承,但和類一樣可以繼承自接口
//哈希表 //不規定長度 不規定類型 不規定建類型 //Hashtable j = new Hashtable(); //隊列集合//先進先出 //Queue li = new Queue(); //li.Enqueue(""); //Console.WriteLine(li.Dequeue()); //棧集合 //先進後出 //Stack<string> i = new Stack<string>(); //i.Push(""); //Console.WriteLine(i.Pop());
結構體
//結構 //struct a{}// 類 //class //枚舉類 //enum 隨便寫 //自定義函數 // 訪問修飾符 函數名(參數);{ // 函數體; // return 返回值 //} //public 外部可以調用/ private / protected //無參數 無返回值 //public static void abc() //{ // Console.WriteLine(""); //} // 無參數 有返回值//public static string abc() //{ // return "ab"; //} // 有參數 無返回值 //public static void abc(int a, int b) //{ // Console.WriteLine(a + b); //} //ref out
2017年11月4日 vs類和結構的區別&哈希表&隊列集合&棧集合&函數