我代码段的一部分位于下面:
Byte[] blockdata = new Byte[16];
blockdata[0] = 0x12;
blockdata[1] = 0x13;
blockdata[2] = 0x14;
好吧。(0x12)
中的12个是固定的。如果我想为其使用变量怎么办?示例:
int m = 12;
blockdata[0] = 0xm;
在上面,m
应该是12
。我该怎么做?
请帮我。谢谢。
实现目标的另一种方法可能是
int bInt = 12;
byte b = 0x1;
b = Convert.ToByte("0x" + bInt,16);
只需转换:
- 首先要字符串
- 然后从字符串将其视为十六进制表示
喜欢这个
int m = 12;
blockdata[0] = Convert.ToByte(m.ToString(), 16);
测试:
// 18 == 0x12
Console.Write(String.Format("{0} == 0x{0:x}"), blockdata[0]);
表达式0x12
是一个编译时常数,在运行时无法更改。十六进制12
的值与18
小数相同,因此您可以使用
blockdata[0] = 18
分配所需的值。无需使用六核格式使用常数初始化Byte
类型的变量。