在我代码中,我为字符串变量分配了一个长值,当我试图解析它时,它抛出了一个异常
Unhandled exception. System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.UInt64.Parse(String s)
at Program.Main()
Command terminated by signal 6
我的代码在这里
string data = "071926809";
Console.WriteLine(ulong.Parse(data));
此外,我已经尝试了Tryparse,还检查了直接将值分配给Parse的第一个参数,如下所示,它工作正常
Console.WriteLine(ulong.Parse("071926809"));
它在处理异常时运行良好,但在这个例子中,它给变量赋值了,但我期待的是,如果我给字符串变量赋值了,一个已知的长整型或整型值,然后试图转换,为什么它仍然会给出异常,有人能告诉我吗?
1条答案
按热度按时间pgky5nke1#
字符串以两个不可见字符U+202D(从左到右重写)开头。您可以通过以下代码看到这一点:
结果:
解决这个问题的最好方法是确保您的数据只包含数字。如果不可能,请在解析之前清除它,例如,如果您知道U+202D是唯一可能干扰的字符,
data.Trim('\u202D')
,