int digitToOutput = random.Next(0, 9);
如何從十六進制字符中添加字母A,B,C,D,E,F到這行代碼,所以它選擇一個從0到9還是從A到F的信?從A到F的隨機數。Next Int數據類型
int digitToOutput = random.Next(0, 9);
如何從十六進制字符中添加字母A,B,C,D,E,F到這行代碼,所以它選擇一個從0到9還是從A到F的信?從A到F的隨機數。Next Int數據類型
一開始,上限是獨家所以,如果你想從0
一個數字,9
包容性,你應該使用10
作爲上限。
對於一個十六進制數字,我會選擇很簡單:
string hexDigitToOutput = random.Next(0, 16).ToString("X");
這會給你一個值零十五包容之間,然後將其轉換爲大寫的十六進制。
您可以生成從0值到15,然後將其轉換爲十六進制:
var rnd = new Random();
var rd = rnd.Next(0, 15).ToString("X");
我會去這個
UInt32 digitToOutput = Convert.ToUInt32(random.Next(0, 16).ToString("X"));
既然你要添加的字母A,B, C,D,E,F來自HEX並轉換回Int我寧願去尋求UInt
。
我有點困惑。首先,你不需要爲'ToUInt32'調用提供基本'16',所以它將它視爲十六進制?其次,這與UInt32 digitToOutput = random.Next(0,16);'不一樣嗎?你似乎將它轉換爲一個十六進制字符,然後回到一個整數。 – paxdiablo
'不能將類型'int'隱式轉換爲'uint'。存在一個明確的轉換(你是否缺少一個轉換?)'這會產生這個錯誤。 –