C#中結構(struct)的部分初始化和完全初始化實例分析
本文實例分析了C#中結構(struct)的部分初始化和完全初始化,分享給大家供大家參考。具體分析如下:
假設有這樣一個值類型struct,如下所示:
public struct Size
{
public int Length;
public int Width;
public int Area()
{
return Length*Width;
}
}
一、客戶端,給所有struct字段初始化后調(diào)用方法
class Program
{
static void Main(string[] args)
{
Size size;
size.Length = 10;
size.Width = 5;
Console.WriteLine(size.Area());
Console.ReadKey();
}
}
結果:50
二、客戶端,給部分struct字段初始化
class Program
{
static void Main(string[] args)
{
Size size;
size.Length = 10;
Console.WriteLine(size.Area());
Console.ReadKey();
}
}
結果:報錯,使用了未賦值的局部變量。
可見:如果想調(diào)用struct實例的任何方法,需要給struct的所有字段初始化。
三、客戶端,通過構造函數(shù)初始化struct
class Program
{
static void Main(string[] args)
{
Size size = new Size();
Console.WriteLine(size.Area());
Console.ReadKey();
}
}
結果:0
在這里:通過struct構造函數(shù)創(chuàng)建實例,實際上是給struct的所有字段賦上了初值0。
總結:
在調(diào)用struct實例方法之前,必須給struct的所有字段賦上初值,即要求完全初始化,部分初始化是不允許的。要么通過"struct實例.字段名"給所有字段顯式賦值,要么通過struct構造函數(shù),給所有字段賦上默認值。
希望本文所述分析對大家C#程序設計的學習有所幫助。
相關文章
C#動態(tài)生成DropDownList執(zhí)行失敗原因分析
這篇文章主要介紹了C#動態(tài)生成DropDownList執(zhí)行失敗原因分析,以一個實例形式分析了C#動態(tài)生成DropDownList的相關注意要點與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

