问题标签 [tryparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
911 浏览

c# - Enum.TryParse - 它是线程安全的吗?

我试图弄清楚 .NET 4.0 的 Enum.TryParse 是否是线程安全的。

源代码(反编译)是:

对我来说似乎有问题的是这一行:

如果另一个线程在它被设置为默认值之后并且在它被设置为解析值之前访问了结果怎么办?

[编辑] 在 Zoidberg 的回答之后,我想重新表述一下这个问题。

我猜问题是,如果 Enum.TryParse 是“事务性的”(或原子的)。

假设我有一个静态字段,并将其传递给 Enum.TryParse:

现在,当执行 TryParse 时,另一个线程访问 MyField。TryParse 会暂时将 MyField 的值更改为 SomeEnum 的默认值,然后才会将其设置为解析后的值。

这不一定是我的代码中的错误。我希望 Enum.TryParse 将 MyField 设置为解析值或根本不触摸它,不将其用作临时字段。

0 投票
9 回答
14935 浏览

c# - int.TryParse() 为“#.##”返回 false

我有一个接收字符串参数并将它们转换为整数的函数。
为了安全转换 int.TryParse() 被使用。

函数调用 ReportView(“2”,”4”)--> int.Tryparse 解析数字成功
函数调用 ReportView(“2.00”,”4.00”) --> int.TryParse 解析数字失败

为什么?任何的想法?

@Update
对不起,我的概念是错误的。我是 c# 的新手,我认为 Int.TryParse() 会返回整数部分并忽略小数。但它不会,甚至 Convert.ToInt32("string")
谢谢大家。

0 投票
2 回答
1303 浏览

c# - 在 C# 中包含日期名称时,将 DateTime 字符串识别为有效

当日期字符串附加了星期几时,TryParse 失败:

处理此问题的最佳方法是什么,以便我可以安全地确定它是一个日期,并将其转换为日期?

0 投票
1 回答
3080 浏览

c# - DateTime.TryParseExact 并解析多种日期格式

我正在尝试查看字符串是否为有效日期。由于日期采用“2011–7–17 23:18:52”格式,因此我遇到了麻烦。我正在这样测试:

我认为我遇到麻烦的原因是因为日期只能有 1 M 值或 2 MM 几个月。我有大量数据要处理,将 M 更改为 MM 不会发生。

编辑:我已经尝试了所有建议的链接,也许它可能是文化信息无法识别 24 小时时钟(问号)

0 投票
3 回答
560 浏览

c# - 对多个 TryParse() 调用重用相同的变量

我对此进行了一些阅读,并且从与我类似的问题来看,看起来我要问的问题可能(很容易)不可能......但我还是想验证一下。也许所有这些问题都来自旧版本的 C#/.NET,而且最近已经实现了。

反正。我的一个类中有一个 switch-case 语句,其目的本质上是采用 int( typeID) 和 string( value) 并检查是否value可以将其解析为typeID. 例如,这是我现在拥有的一部分:

我想做的是能够避免您在案例 1 和 3 中看到的char/bool实例化。理想情况下,我只想拥有 return 语句。这没什么大不了的(显然),但如果我能把它做得更(甚至更)紧凑,那就太好了。

0 投票
4 回答
1962 浏览

c# - TryParse() - 为什么这段代码返回 0,结果不应该是 -1?

请参阅以下代码:

失败时TryParse(),不应该跳过块,Console.WriteLine("Parsed")不调用并且值output相同(-1)吗?

它回来了0

0 投票
3 回答
48065 浏览

c# - 使用 DateTime.TryParse 方法进行有效日期检查

我正在使用Datetime.TryParse方法来检查有效的日期时间。输入日期字符串可以是任何字符串数据。但返回 false 作为无效的指定日期。

编辑:我错过了。我需要检查有效日期和时间为“15/07/2012 12:00:00”。

欢迎任何建议。

0 投票
3 回答
24614 浏览

c# - Decimal.TryParse 不解析我的十进制值

当我尝试转换 0.1 之类的内容(来自文本框中的用户)时,我的值 b 始终为 false。

怎么会在这里工作?

0 投票
2 回答
5177 浏览

c# - 使用 Single.TryParse 解析浮点数失败

在 MSDN 上有一篇关于 Single.TryParse 的文章,其中包含此示例代码:http: //msdn.microsoft.com/en-us/library/26sxas5t%28v=vs.100%29.aspx

问题在文章中 TryParse 返回true并且字符串被转换,但是当我尝试它时,它是false. 我该如何解决?


UPD:为了简化解析,可以使用这两行:

此设置允许解析带有前导和尾随空格字符的负浮点数和字符串。

0 投票
2 回答
622 浏览

c# - Enum.TryParse:当返回值为`false`时,out参数值是否有保证或约定?

根据文档Int32.TryParse,如果该方法返回 false,它会将 out 参数设置为零。我在其文档中没有看到 Enum.TryParse 的类似保证。似乎应该有这样的保证,因为该方法必须将 out 参数设置为something,而零最有意义。

是否在其他地方指定或记录了保证,或者真的没有保证?