程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#枚舉的初始化(4)

C#枚舉的初始化(4)

編輯:關於C語言

3.new、值類型的默認構造函數和值類型的默認值

通常我們使用new來調用引用類型的實例構造函數(Instance Constructors),或者自定義值類型的非默認實例構造函數(Non-Default Instance Constructors)。然而,我們也可以使用new來調用值類型(包括內置簡單類型和自定義類型)的默認構造函數,例如:

int i = new int();

這裡,new調用int的默認構造函數把i初始化為對應的默認值——0。當然,這個默認構造函數由.NET自動提供(但你不能手動提供)。也就是說,使用new來調用值類型的默認構造函數,該值類型將被自動設為對應的默認值。.Net的值類型分為簡單類型(Simple types)、枚舉類型(Enum types)和結構類型(Struct types)。

3.1 簡單類型(Simple types)的默認值

對於簡單類型(Simple types),它們的默認值如下表所示:

Simple Type  Default Value

bool         false
byte         0
char         '\0'
decimal      0.0M
double       0.0D
float        0.0F
int          0
long         0L
sbyte        0
short        0
uint         0
ulong        0
ushort       0

3.2 枚舉類型(Enum types)的默認值

對於枚舉類型(Enum types),.Net會自動將字面值0(literal 0)隱式地轉換為對應的枚舉類型。

3.2.1 有一個0值成員

如果枚舉類型中的某個成員被賦予0值(不要求是第一個成員),那麼枚舉變量所儲存的值就是該成員的值。假定Alignment的成員被賦值如下:

//Code #06
enum Alignment
{
  Left = 1,
  Center = 0,
  Right = 2
}

那麼,下面這句

Alignment a = new Alignment();

將等效於

Alignment a = Alignment.Center;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved