cho*_*bo2 14 .net c# out-parameters
在stackoverflow上读取后,在检查DateTime的格式的情况下,您应该使用DateTime.TryParse.在尝试了一些正则表达式后,他们似乎变得冗长而讨厌,希望覆盖大量的格式.
但TryParse需要一个"out"参数,因为我只想进行验证格式检查,所以我不需要实际的结果.
所以我留下了一个保持"out"结果的变量,并且我不做任何事情.有没有办法,所以我不必做一个out参数?
所以我摆脱了这个警告,并停止变量只是飞来飞去.
Kim*_*man 20
不.我将它包装在一个方法中以保持噪音不受主流影响:
bool IsValidDate(string value)
{
DateTime result;
return DateTime.TryParse(value, out result); //result is stored, but you only care about the return value of TryParse()
}
Run Code Online (Sandbox Code Playgroud)
ksk*_*d19 13
使用C#7(自2016年8月起),您可以使用out var构造,然后忽略后续代码中的新var.
bool success = DateTime.TryParse(value, out var result);
Run Code Online (Sandbox Code Playgroud)
我并不是建议您实际执行此操作,但是您可以使用单个帮助程序类来使所有输出参数变得容易:
public static class OutHelper<T>
{
[ThreadStatic]
public static T Ignored;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以打电话:
if (DateTime.TryParse(text, out OutHelper<DateTime>.Ignored))
Run Code Online (Sandbox Code Playgroud)
它太可怕了,使用了一个公共可变字段,如果你的应用程序也在执行某些恶意代码,它会让代码访问你解析的最后一个值...但它应该可以工作:)
| 归档时间: |
|
| 查看次数: |
19562 次 |
| 最近记录: |