Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将十六进制字符串转换为整数_C#_Hex - Fatal编程技术网

C# 将十六进制字符串转换为整数

C# 将十六进制字符串转换为整数,c#,hex,C#,Hex,当我打开显示为o的文件时,我想将字节值写入文件?删除0x,然后转换: int value = Convert.ToInt32('o'); Byte[] b = new Byte[] { ( byte)value }; File.WriteAllBytes(Default.ProjectsPath , b); Convert.ToInt16string将无法转换以“0x”开头的字符串,即使这是以16为基数的数字的正确表示法。如果要使用解决方案,则需要从字符串转换中删除0x。替换 int i

当我打开显示为o的文件时,我想将字节值写入文件?

删除0x,然后转换:

int value = Convert.ToInt32('o');
Byte[]  b =  new Byte[] { ( byte)value };
File.WriteAllBytes(Default.ProjectsPath , b);
Convert.ToInt16string将无法转换以“0x”开头的字符串,即使这是以16为基数的数字的正确表示法。如果要使用解决方案,则需要从字符串转换中删除0x。替换

int i = Convert.ToInt32("0xFE".Substring(2), 16);

或者你可以用Alex K.的想法来代替

string s=String.Format("{0:x}", value);


如果您是第一个生成字符串的人,那么就像Alex Barac建议的那样,根本不要放置0x前缀。。。为什么要制造你不需要的问题

如果必须有前缀,请使用它。。。如果前缀为“0x”,请使用 int i=Convert.ToInt320xFE.Substring2,16;正如Alex K.建议的那样

如果它不是“0x”,则可能是一个Base10数字:
int i=转换为NT32342,10

例外情况是什么?在哪一条线上?什么是价值?您的当前区域性是什么?这将为您的原始字符串提供i=254 i-want i=0xfex.Format0x{0:X},254;是吗,不是?@HazemAhmed 0xFE是254的十六进制表示法,表示为4位。你想把0xFE作为254的输入结果?@SonerGönül我知道我只想把0x表示存储在Ith中,这是不可能的,我是一个整数;它不能存储0xFE所表示的字符串,x不是数字不过,存储整数值并在需要显示时转换为十六进制并不重要。
string s=String.Format("{0:x}", value);
int x=Convert.ToInt16(s);
int x=Convert.ToInt16(s.Substring(2));