http://msdn.microsoft.com/zh-tw/library/vstudio/c7xhf79k.aspx
你的字符串“255”超出了字节的范畴。
16禁止的字节字符串只能是00-ff,而你用了255。
如果你的“255”是十进制,就把16修改为10。
后面的那个参数16是说明 的是第一个参数是16进制对吧?
@s_p: 对。
@519740105: 但是这样也不对啊
byte temp = Convert.ToByte("255", 10); 这个temp现在还是255 我要的是FF
@s_p: temp表示的是数值,当然是255,你想要FF?
使用format:
string.Format("{0:x2}", temp)
试下。
@519740105: 他是字符串呢 那个我知道我要byte的 FF
@s_p: byte类型,十进制的255难道不是你想要的十六进制0xFF?
@s_p: 255就是值,干嘛一定要ff来表示?如 @Chielo Newctle 所言,如果你想在代码书写上用十六进制,就用 0xff 来表示。
或者,你是说想看到内存显示的值是十六进制的?这个在调试的时候,跟踪数据,按右键可以转换。但即便这样,也没有你这样写代码的。
byte temp = Convert.ToByte("255", 10);///按照十进制转换成byte对象
string hexstr=temp.ToString("X2");//输出十六进制的字符串形式
二进制/八进制/十六机制和十进制的表现形式只是体现在字符串上.byte对象是相同的.
Byte类型的FF好像就是255,他没有FF中形式的表示的