2015-09-11 42 views

回答

2

一開始,上限是獨家所以,如果你想從0一個數字,9包容性,你應該使用10作爲上限。

對於一個十六進制數字,我會選擇很簡單:

string hexDigitToOutput = random.Next(0, 16).ToString("X"); 

這會給你一個值零十五包容之間,然後將其轉換爲大寫的十六進制。

-1

您可以生成從0值到15,然後將其轉換爲十六進制:

var rnd = new Random(); 
var rd = rnd.Next(0, 15).ToString("X"); 
0

我會去這個

UInt32 digitToOutput = Convert.ToUInt32(random.Next(0, 16).ToString("X")); 

既然你要添加的字母A,B, C,D,E,F來自HEX並轉換回Int我寧願去尋求UInt

+0

我有點困惑。首先,你不需要爲'ToUInt32'調用提供基本'16',所以它將它視爲十六進制?其次,這與UInt32 digitToOutput = random.Next(0,16);'不一樣嗎?你似乎將它轉換爲一個十六進制字符,然後回到一個整數。 – paxdiablo

+0

'不能將類型'int'隱式轉換爲'uint'。存在一個明確的轉換(你是否缺少一個轉換?)'這會產生這個錯誤。 –