閃客改變簡單MessageBox
代碼:MessageBox的類型轉換成int
MessageBox.Show("msg");
這一個:
int num = (int) MessageBox.Show("msg");
兩個完美的作品。這種類型的投射是什麼意思?
閃客改變簡單MessageBox
代碼:MessageBox的類型轉換成int
MessageBox.Show("msg");
這一個:
int num = (int) MessageBox.Show("msg");
兩個完美的作品。這種類型的投射是什麼意思?
從C#語言規範的:
6.2.2顯枚舉轉換
顯式枚舉轉換爲:
·從字節,字節,short,ushort,int,uint,long,ulong, char,float,double或decimal到任何枚舉類型。
·從任何枚舉型到字節型,字節型,短型,ushort,int,uint, long,ulong,char,float,double或decimal。
·從任何枚舉類型到任何其他枚舉類型。
特別是,您的示例包含從DialogResult
到int
的明確轉換。但是,上面列表中的其他類型也是允許的,無論基礎枚舉類型如何。
MessageBox.Show()
返回DialogResult
值,它是enum
類型,以便該鑄造將返回基礎類型枚舉元素(缺省爲int
)澆鑄int
「此鑄件返回基礎類型的枚舉元素」 - 錯誤。這個投射返回'int',因爲有一個投射到'int',不是因爲基礎類型的枚舉是'int'。例如,這也是正確的:'long num =(long)MessageBox.Show(「msg」)'。 – Dennis
是的,我明白,單詞的選擇很差。感謝您的糾正。 –
顯示(..)返回一個DialogResult,並枚舉併爲此 - 一個整數 –