C#之結構的聲明、特點及和類的區别
時間:2020-06-19 作者:管理員(yuán) 點擊:667
//結構:一(yī)次性聲明多個不同類型的變量。
//結構的聲明方式用(struct)關鍵字。
//結構的位置:結構聲明在命名空間的下(xià)面,類的外(wài)面,表示這個命名空間下(xià),所有的類都可以使用這個結構,
//如果結構聲明在某個類下(xià)面,那麽隻有當前類或者繼承類可以訪問這個結構
//C# 結構的特點
//結構可帶有方法、字段、索引、屬性、運算符方法和事件。
//結構可定義構造函數,但不能定義析構函數。但是,您不能爲結構定義無參構造函數。無參構造函數(默認)是自動定義的,且不能被改變。
//與類不同,結構不能繼承其他的結構或類。
//結構不能作爲其他結構或類的基礎結構。
//結構可實現一(yī)個或多個接口。
//結構成員(yuán)不能指定爲 abstract、virtual 或 protected。
//當您使用 New 操作符創建一(yī)個結構對象時,會調用适當的構造函數來創建結構。與類不同,結構可以不使用 New 操作符即可被實例化。
//如果不使用 New 操作符,隻有在所有的字段都被初始化之後,字段才被賦值,對象才被使用。
//類和結構有以下(xià)幾個基本的不同點:
//類是引用類型,結構是值類型。
//結構不支持繼承。
//結構不能聲明默認的構造函數。
//結構體(tǐ)中(zhōng)聲明的字段無法賦予初值,類可以:
public struct Clerk//結構的聲明
{
public string Name;
public int Age;
public char Sex;
}
class Program
{
static void Main(string[] args)
{
Clerk zs;//初始化結構
//Clerk zs = new Clerk();//初始化結構 兩種方式都可以
zs.Name = "張三";
zs.Age = 25;
zs.Sex = '男';
Console.WriteLine("我(wǒ)(wǒ)叫{0},我(wǒ)(wǒ)今年{1}歲,我(wǒ)(wǒ)是{2}生(shēng)。", zs.Name, zs.Age, zs.Sex);
Console.ReadKey();
}
}