据我所知,int.TryParse(string, out int)
从Framework2.0开始就存在了。int?
也是如此。
有没有理由使用out
参数,而不是返回HasValue
设置为true
of false
的int?
,这取决于转换的能力?
发布于 2014-08-27 19:27:39
至于原因,我们只能猜测,但一些可能的原因是:
赋值开销:与内置类型相比,装箱的值会产生一些(很小的)性能开销。
没有真正的收获:
int res;
if int.TryParse("one", out res) {
//something
}
并不比
int? res = int.TryParse("one");
if (res.HasValue){
int realres = res.Value
//something
}
https://stackoverflow.com/questions/25525816
复制相似问题