我一直在寻找int.TryParse方法实现,它实际上是如何工作的,但我还没有找到.我必须知道,关于a string,它是否是一个数值,但我现在不想转换它.
所以我只需要bool结果int.TryParse.所以问题是:
bool结果,和
int.TryParse实际上是如何工作的(有try ... catch内部还是迭代输入的字符string)?我目前正在使用该模式:\b\d+\b使用以下条目对其进行测试:
numb3r
2
3454
3.214
test
Run Code Online (Sandbox Code Playgroud)
我只想要它捕获2和3454.它非常适合捕获数字,除了边界标志(\b)包括"."作为单独的单词的考虑.我试图排除这段时间,但是编写模式时遇到了麻烦.
基本上我想删除整数单词,只是单独使用它们.
在浏览新C# 7.0功能的同时,我坚持使用丢弃功能.它说 :
丢弃是您可以分配但无法读取的局部变量.即它们是"只写"局部变量.
然后,举例如下:
if (bool.TryParse("TRUE", out bool _))
Run Code Online (Sandbox Code Playgroud)
什么是真正的用例,这将是有益的?我的意思是如果我以正常的方式定义它,说:
if (bool.TryParse("TRUE", out bool isOK))
Run Code Online (Sandbox Code Playgroud) 因此,Visual Studio 2019的代码分析和代码建议开始突出显示代码的每一行,我在其中调用返回值的方法,但我根本不使用它并告诉我使用丢弃_运算符。
我不完全理解为什么这很重要,对于Fluent API样式代码来说,这似乎还是错误的。
以下两行之间在功能上有区别吗?
private int SomeMethod() => 0;
...
SomeMethod();
_ = SomeMethod();
...
Run Code Online (Sandbox Code Playgroud)
如果返回值是参考,会更重要吗?如果不是,是否有办法全局禁用此检查?