我只需要将一个intergers传递给一个方法。但是如果传递了字符串值,那么将获得异常。为了避免我使用
Int32.tryparse(vatiraleparamter,out int resultparam);
但它显示代码违规。我们不会使用varieable。请告诉我如何避免这种情况。
答案 0 :(得分:4)
在将integer
变量resultparam
传递给TryParse()
方法之前,您应该声明它。
试试:
int resultparam;
if(Int32.TryParse(vatiraleparamter,out resultparam))
{
//parsing is successfull.
}
答案 1 :(得分:4)
这是不正确的:out int resultparam
您需要传递一个现有的int
- 变量,该变量将在int.TryParse
中初始化。
所以语法如下:
int resultparam;
bool success = Int32.TryParse(vatiraleparamter, out resultparam);
如果可以成功解析字符串,它将在Int32.TryParse
中设置。您还会得到bool
,表示相同。
答案 2 :(得分:0)
最好使用此版本的TryParse,同时传递IFrmatProvider:http://msdn.microsoft.com/en-us/library/zf50za27(v=vs.110).aspx 这样,该函数可以识别组分隔符(在某些文化中也可能是逗号)的小数分隔符(可能是逗号)
我提到的文章也有很多例子。
答案 3 :(得分:0)
您需要将现有的int变量传递给TryParse方法。您还可以创建一个包装此功能的方法,然后适当地传递代码
private static bool StringParsesAsInt(string value)
{
int result;
return Int32.TryParse(value, out result);
}
...
if StringParsesAsInt(vatiraleparamter)
{
}