2015-11-02 71 views
3

在C#我有錯誤代碼定義爲寫作UINT出來的六角不INT

public const uint SOME_ERROR= 0x80000009; 

我想寫的0x80000009到一個文本文件,現在我想

private static uint ErrorCode; 
ErrorCode = SomeMethod(); 
string message = "Error: {0}."; 
message = string.Format(message, ErrorCode); 

但是,把它寫成一個int,如「2147483656」,我怎樣才能得到它作爲十六進制文本文件?

+2

'的ToString( 「X8」)'或'格式( 「{0:X8}」)''大寫X'如果你想大寫十六進制字符。 – CodesInChaos

回答

2

你不必施放它。簡單地做

message = string.Format(message, ErrorCode); 

,如果你的方法是SomeMethod()返回一個int,那麼你可以把你的int十六進制這樣的:

message = string.Format(message, ErrorCode.ToString("X")); 
+0

如果我投與否,我得到的輸出是相同的數字,但是投中它沒用。 – Lawtonj94

+0

@ Lawtonj94: - 如果你的方法'SomeMethod()'返回int,那麼你可以使用'.ToString(「X」)將它轉換爲Hex。 –

3

您需要使用UInt32.ToString("X")輸出UINT爲十六進制。

所以你的情況:

String.Format(message, ErrorCode.ToString("X"));