C#ASP.NET Int.TryParse方法

时间:2017-04-28 19:48:23

标签: c#

public string AddToVisa(string s, string s1)
{
    int num;
    int num1;
    Functions con1 = new Functions();
    SqlConnection con = con1.get();
    if (s.Length != 16)
    {

        return "Wrong Details";

    }

        if (!(int.TryParse(s, out num)) || !(int.TryParse(s1, out num1)))
        {
            return "Wrong Visa Details";

        }


    if (s1.Length != 3)
    {
        return "Wrong Visa Details";
    }

    return "Done";

该功能始终返回"错误的详细信息" (我试过这些值:s:1234123412341234,s1:123),问题来自int.TryParse,当我删除它时,函数返回"完成",int的问题是什么。的TryParse?

3 个答案:

答案 0 :(得分:2)

int的最大值为2,147,483,647。尝试使用long

long num;
var works = long.TryParse(s, out num);

答案 1 :(得分:0)

你说该函数总是返回"错误的细节" ... 然后你的字符串变量string s中似乎有空格。在检查Trim()属性之前尝试使用Length,如

if (s.Trim().Length != 16)
{
    return "Wrong Details";
}

答案 2 :(得分:0)

使用新的C#7.0,您可以使用以下语法

var works = long.TryParse(s, out long num);