C#中構造(struct)的部門初始化和完整初始化實例剖析。本站提示廣大學習愛好者:(C#中構造(struct)的部門初始化和完整初始化實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中構造(struct)的部門初始化和完整初始化實例剖析正文
本文實例剖析了C#中構造(struct)的部門初始化和完整初始化,分享給年夜家供年夜家參考。詳細剖析以下:
假定有如許一個值類型struct,以下所示:
public struct Size { public int Length; public int Width; public int Area() { return Length*Width; } }
1、客戶端,給一切struct字段初始化後挪用辦法
class Program { static void Main(string[] args) { Size size; size.Length = 10; size.Width = 5; Console.WriteLine(size.Area()); Console.ReadKey(); } }
成果:50
2、客戶端,給部門struct字段初始化
class Program { static void Main(string[] args) { Size size; size.Length = 10; Console.WriteLine(size.Area()); Console.ReadKey(); } }
成果:報錯,應用了未賦值的部分變量。
可見:假如想挪用struct實例的任何辦法,須要給struct的一切字段初始化。
3、客戶端,經由過程結構函數初始化struct
class Program { static void Main(string[] args) { Size size = new Size(); Console.WriteLine(size.Area()); Console.ReadKey(); } }
成果:0
在這裡:經由過程struct結構函數創立實例,現實上是給struct的一切字段賦上了初值0。
總結:
在挪用struct實例辦法之前,必需給struct的一切字段賦上初值,即請求完整初始化,部門初始化是不許可的。要末經由過程"struct實例.字段名"給一切字段顯式賦值,要末經由過程struct結構函數,給一切字段賦上默許值。
願望本文所述剖析對年夜家C#法式設計的進修有所贊助。