作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有this我必须实现的功能:
protected override ValidationResult IsValid(
Object value,
ValidationContext validationContext
)
{
//Here is where I wanna test whether the following conversion is applicable
var x = Convert.ToInt64(value);
}
我可以将该行包装在一个 try-catch block 中,或者使用其他方法来执行该测试,这是其中之一:
var convertible = value as IConvertible;
if (convertible != null)
var x = convertible.ToInt64(null);
执行此操作最有效的方法是什么?
最佳答案
在这里你可以定义一个默认值,如果解析(转换)适用,它将返回转换后的 int64 否则将返回默认值:
Int64 DefaultValue = 0;
Int64.TryParse(MyVar , out DefaultValue);
即:
Int64 DefaultValue = 0;
Int64.TryParse("1234" , out DefaultValue);
默认值为 1234
Int64 DefaultValue = 0;
Int64.TryParse("test" , out DefaultValue);
默认值为 0
您还可以通过这样声明变量来使其更短:
Int64.TryParse("123" , out Int64 DefaultValue);
关于c# - Convert.TryToInt64 而不是 Convert.ToInt64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9345999/
我是一名优秀的程序员,十分优秀!