c# - String 到 Int 的 Null 合并

标签 c# coalesce

我想对文本框进行检查,如果为空则分配零,然后继续进行一些计算。我知道有一个空合并 (??) 运算符可以帮助我,但我不确定当文本框为空时我是否可以分配 int。

我试图写这样的东西,但似乎是一个错误。

sdowntime = Convert.ToInt32(txtSDown.Text) ?? 0;

我明白了

Error 98 Operator '??' cannot be applied to operands of type 'int' and 'int'

我做错了什么或者实际上我应该使用其他方法吗?请指导。 非常感谢!

最佳答案

您还可以使用 TryParse 方法,如下所示:

int sdowntime;
int.TryParse(txtSDown.Text, out sdowntime);

如果 TextBox 为空或包含非数字值,则 out 参数将被分配值 0。否则,将分配适当解析的值。但请注意,您应该始终进行客户端验证,以确保用户不会在数字字段中输入非数字值。

关于c# - String 到 Int 的 Null 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794306/

相关文章:

sql - 联合查询在一列上不同

sql - 在coalesce中使用select设置变量

c# - 如何使用 SHA256Managed 比较两个哈希值?

javascript - 如何将日语汉字翻译成片假名

c# - 坚持试图理解代表

sql - 检查 "empty or null value"的最佳方法

Mysql Coalesce 返回 0 而不是实际值

java - DB2 和 Jasper 报告中的 COALESCE 问题

c# - C#中的Base 64编码

c# - 是否可以部分部署到 ASP.Net MVC?