StringToByteArray() 在 C# 2.0 中抛出异常
Posted
技术标签:
【中文标题】StringToByteArray() 在 C# 2.0 中抛出异常【英文标题】:StringToByteArray() throw exception in C# 2.0 【发布时间】:2011-09-05 03:28:01 【问题描述】:我在 VS2005 上练习 StringToByteArray()。但是抛出异常。你能告诉我更多关于它的信息吗?
异常警报 **在 mscorlib.dll 中发生了“System.FormatException”类型的未处理异常
附加信息:找不到任何可识别的数字。**
public static byte[] StringToByteArray(String hex)
int NumberChars = hex.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
// exception here
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
return bytes;
static void Main()
byte[] myByte = new byte[2];
myByte = StringToByteArray("0x0");
【问题讨论】:
【参考方案1】:您需要从传入的字符串的开头删除“0x”,或者使用int i = 2;
开始您的for
循环。此外,您正在您的方法中分配数组。你也不需要这样做Main
。
【讨论】:
他也不确定字符串由偶数个字符组成。【参考方案2】:嗯,你有可能被零除异常......
修复该问题后,您需要通过确保字符串以 0x 开头并在进行转换时跳过前缀来继续输入验证。
【讨论】:
以上是关于StringToByteArray() 在 C# 2.0 中抛出异常的主要内容,如果未能解决你的问题,请参考以下文章