我有以下方法:
private string Val(object val)
{
int vId;
bool isNumeric = Int32.TryParse(val, out vId);
return string.Empty;
}
我收到以下编译时错误:
cannot convert from 'object' to 'string'
答案 0 :(得分:2)
尝试将字符串作为第一个参数传递。目前,当val
需要字符串时,您将TryParse
设置为对象。您可以将对象转换为字符串(val.toString()
),但很可能您只想发送字符串以开始。
如果你想进一步查看这个代码,我会很乐意提供帮助,但是看看你问题中的几行代码,似乎你应该通过一个字符串发送第一名。
答案 1 :(得分:1)
private string Val(string val)
{
int vId;
bool isNumeric = Int32.TryParse(val, out vId);
return string.Empty;
}
尝试解析假定字符串不是对象,因此您必须更新输入的数据类型。
答案 2 :(得分:1)
TryParse(String, Int32)
要求第一个参数是字符串而不是对象。将对象转换为字符串,然后尝试将其解析为int
试试这个
bool isNumeric = Int32.TryParse(val.ToString(), out vId);
答案 3 :(得分:0)
TryParse(String,Int32)要求第一个参数是字符串而不是对象。将对象转换为字符串,然后尝试将其解析为int
试试这个
bool isNumeric = Int32.TryParse(val.ToString(),out vId);
答案 4 :(得分:-1)
如果您要查找对象是否为数字,则可以使用is
运算符。
eg: bool isInt = o is int // Assuming o is object
您可以创建一个方法,通过让其他人像以下一样检查对象是否为数字: o是int || o是浮动的||等等。
关于TryParse,它需要String类型(在visual studio intellisense中也会告诉你)。因此,要么将参数对象更改为字符串,要么将对象转换为字符串。