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?
答案 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);