【发布时间】:2011-12-01 11:51:13
【问题描述】:
我们在一个项目中有这个相当简单的代码:
string input = "Any string";
for (int i = 0; i < input.Length; i++)
{
string stringOfLengthOne = input.Substring(i, 1);
byte value = (byte)Convert.ToChar(stringOfLengthOne);
if (value == someValue)
{
// do something
}
}
输入是一个字符串,其中的字符通常从文件中读取,需要根据它们的字节值进行处理。
很遗憾,我们没有机会一步一步调试这个过程,我们只需要做出有根据的猜测可能会导致什么样的字符串
(byte)Convert.ToChar(anyStringOfLengthOne)
在上面的代码中抛出“算术运算导致溢出”错误。
我的想法是,只要我有一个字符串,就应该总是可以 1. 选择一个字符 2. 将其转换为一个字节。然而错误发生了。
任何想法,提示?或者有人甚至可以提供一个抛出这种错误的字符串吗?
【问题讨论】:
-
希望你知道
byte的范围 -
我愿意。但是我未能创建一个引发错误的字符串。