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#法式設計的進修有所贊助。