如何判断Request.Form中的值是否为数字?(C#)
本文关键字:是否 数字 Form 何判断 判断 Request | 更新日期: 2023-09-27 17:58:48
假设我必须调用具有以下签名的函数:doStuff(Int32?)
我想将从Request.Form
读取的值传递给doStuff
。但是,如果传入的值为空、缺少或不是数字,我希望doStuff
传递一个null参数。这不应导致错误;这是一个操作。
我必须用八个这样的值来做这件事,所以我想知道用C#写什么是一种优雅的方式
var foo = Request.Form["foo"];
if (foo is a number)
doStuff(foo);
else
doStuff(null);
如果您想检查它是否是整数,请尝试解析它:
int value;
if (int.TryParse(Request.Form["foo"], out value)) {
// it's a number use the variable 'value'
} else {
// not a number
}
您可以执行类似的操作
int dummy;
if (int.TryParse(foo, out dummy)) {
//...
}
使用Int32.TryParse
例如:
var foo = Request.Form["foo"];
int fooInt = 0;
if (Int32.TryParse(foo, out fooInt ))
doStuff(fooInt);
else
doStuff(null);