Int64不支持C#

时间:2019-07-23 10:27:11

标签: c# pattern-matching

我今天偶然发现了这个。我有一个Int64变量,使用C#中的类型模式匹配不能将其强制转换为int或int64变量。

即:

someValue is int: false
property.Value.GetType().ToString(): "System.Int64"
property.Value is System.Int64: false

我希望有人可以帮我澄清一下,因为目前对我来说这没有意义。我可能可以做一个int.tryParse()来解决这个问题,但是即使我最终选择了另一条路线,我也想了解失败的原因并从中学到东西。

谢谢!

编辑/更新:

因此该代码在Linqpad,Dotnetfiddle和我的已编译代码中均有效,但是在Visual Studio 2019的“立即窗口”中却无法运行,我可以在其中运行代码段。

请参见下图以了解我的意思(当我在即时窗口中评估表达式时-当代码执行处于断点时-即使在此if条件内必须为true,它仍然表示false): enter image description here

我不想成为哭泣的狼的男孩,尤其是如果我错了,但是它可能是Instant Window的错误,因为它给我的结果与代码中的If语句的相反结果?

0 个答案:

没有答案
相关问题