2008-09-30 132 views
7

在C和C++中,通過在數字的末尾加上'l',可以告訴編譯器一個數字是'long'。 例如長x = 0l;如何將數字轉換爲字節?

如何告訴C#編譯器一個數字是一個字節?

+0

我喜歡的答案,但鑄造數量與聲明的數量作爲一個字節一個字節? – Robert 2008-09-30 14:30:15

回答

9

按照C# language specification沒有辦法指定一個字節的文字。你必須將其轉換爲字節才能得到一個字節。你最好的選擇可能是指定十六進制和投下去,是這樣的:

byte b = (byte) 0x10; 
9
byte b = (byte) 123; 

即使

byte b = 123; 

做同樣的事情。如果你有一個變量:

int a = 42; 
byte b = (byte) a; 
+0

整數字面量將從int隱式轉換爲字節,因此您不需要在數字之前放置(字節)。如果有人錯過了上面例子的邏輯。 – 2014-09-25 09:37:08

4

記住,如果你這樣做:

byte b = (byte)300; 

它不會工作,你所期望的方式。

+5

該聲明的真相取決於我的期望;-) – phoog 2011-12-06 17:33:26

+3

@casademora詳細闡述了,就像結果會是什麼? – Pacerier 2012-01-20 14:56:34

1

不需要告訴編譯器。你可以給字節變量賦值任何有效值,編譯器就可以了:字節沒有後綴。

如果你想一個字節存儲在一個對象,你要投:

object someValue = (byte) 123;