int.Parse(string)生成DateTime格式异常错误

时间:2015-09-08 11:37:40

标签: c#

任何人都可以告诉我为什么这不起作用? 我得到格式异常。 int.Parse(str) - 不知何故,这会尝试将字符串转换为DateTime,但我希望它能获得一个int

bool truncL(int val)
{
    while (val >= 1)
    {
        string str = val.ToString();
        str = str.Substring(1);                
        val = int.Parse(str);                
        if (!primeList.Exists(x => x == val)) return false;
    }
    return true;
}

2 个答案:

答案 0 :(得分:4)

此:

str = str.Substring(1); 

尝试从索引1开始获取子字符串。如果您的整数值为0-9,这将产生一个空字符串,这可能是您的代码失败的原因。

如果您想获取第一个数字,您需要:

str = str.Substring(0, 1);

答案 1 :(得分:0)

亲爱的朋友,这是你的愚蠢错误

str = str.Substring(1); 

将语句更改为

str = str.Substring(0, 1); 

一切都会正常工作

希望有所帮助