首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么T.TryParse不返回Nullable<T>

为什么T.TryParse不返回Nullable<T>
EN

Stack Overflow用户
提问于 2014-08-27 19:19:56
回答 1查看 1.1K关注 0票数 17

据我所知,int.TryParse(string, out int)从Framework2.0开始就存在了。int?也是如此。

有没有理由使用out参数,而不是返回HasValue设置为true of falseint?,这取决于转换的能力?

EN

回答 1

Stack Overflow用户

发布于 2014-08-27 19:27:39

至于原因,我们只能猜测,但一些可能的原因是:

赋值开销:与内置类型相比,装箱的值会产生一些(很小的)性能开销。

没有真正的收获:

代码语言:javascript
复制
int res;
if int.TryParse("one", out res) {
  //something
}

并不比

代码语言:javascript
复制
int? res = int.TryParse("one");
if (res.HasValue){
  int realres = res.Value
  //something
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25525816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档