137
|
Brian Sullivan · 技术社区 · 16 年前 |
![]() |
1
175
正如Jason所说,你可以创建一个正确类型的变量并传递它。您可能希望将其封装在自己的方法中:
…或者如果你喜欢条件运算符:
在C#7中:
|
![]() |
2
133
(可能有更优雅的解决方案,但你为什么不简单地做上述事情呢?) |
![]() |
3
22
以下是Jason建议的一个稍微简洁的版本:
|
![]() |
4
18
你不能因为
希望这能有所帮助:) 编辑: 删除了(显然)测试不正确的扩展方法,因为(正如一些糟糕的hoor所指出的那样)试图更改“this”参数的扩展方法将不适用于值类型。 附言:这位坏胡尔是我的老朋友:) |
![]() |
5
4
这就是你要找的一条线:
如果你想让它成为一个正确的TryParse伪扩展方法,你可以这样做:
|
![]() |
6
1
创建一个扩展方法怎么样?
|
![]() |
7
1
我不明白微软为什么不处理这个问题。一个聪明的小实用方法来处理这个问题(我对int有问题,但用DateTime替换int也会有同样的效果,可能是。。。。。
|
![]() |
8
1
以下是一个单线解决方案:
|
![]() |
9
-3
或者,如果您不担心可能引发的异常,可以将TryParse更改为Parse:
虽然也没有布尔值表示成功,但在某些情况下,当你知道输入文本始终有效时,它可能是实用的。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |