我试图弄清楚如何创建一个十六进制生成器,它总是在C#中吐出3位数并将其发送到我的访问数据库。这是代码,我在这里找到了一个例子并稍微改了一下,但是生成器有时只给我2位数。我做错了什么?
谢谢,
var r = new Random();
int A = r.Next(100, 500);
string hexValue1 = A.ToString("X");
MessageBox.Show(hexValue1);
答案 0 :(得分:2)
如
所述The Hexadecimal ("X") Format Specifier
精度说明符表示结果字符串中所需的最小位数。如果需要,数字用左边的零填充,以产生精度说明符给出的位数。
所以你可以简单地使用
string hexValue1 = A.ToString("X3");
总是给你三位数(假设A< = 0xFFF)..
答案 1 :(得分:1)
3位十六进制值的最小可能值为0x100
(十进制256),最大值为0xFFF
(十进制4095)。因此,为了生成此字符串,您需要使用以下内容:
var r = new Random();
int A = r.Next(256, 4096); //Using the exclusive maximum (required max + 1)
string hexValue1 = A.ToString("X");
MessageBox.Show(hexValue1);