gpt4 book ai didi

c# - Visual Studio 2012 无法识别可空类型

转载 作者:太空狗 更新时间:2023-10-29 21:39:55 25 4
gpt4 key购买 nike

我有 2 个可为 null 的 DateTime,因此减去它们将得到一个可为 null 的 TimeSpan。我想为此调用 .Value

但是自动补全下拉列表认为括号里面的类型是一个普通的TimeSpan。 .Value 不在列表中,当我使用任何建议时,它不会编译。当我手动输入 .Value 时它会编译。

如果只有一个 DateTimes 可以为空,则会出现同样的问题。如果我将 TimeSpan? 添加到 DateTime? 导致 DateTime?,也会发生这种情况。 Intellisense 认为它是一个 DateTime

这是 Visual Studio 智能感知的问题吗?我在更新 3,我没有 ReSharper。在另一台计算机上出现同样的问题。

编辑:明确地说,我在问一个关于为什么智能感知建议错误类型的问题。我知道要编写什么来编译代码。

最佳答案

同意,IS 弄错了,没有正确推断减法的结果是 Nullable<TimeSpan> ,它推断出 TimeSpan。你可以通过这样写来解决它:

var span = date1 - date2;
span.

现在确实正确推断了span变量的类型,您将在自动完成窗口中看到 HasValue。否则,这在运行时一点也不慢,因此它是一个合理的解决方法。

对于最初的 oops,您或我们无能为力,但是您可以在 connect.microsoft.com 上提交反馈报告。发布一个链接,以便我们为其投票。

关于c# - Visual Studio 2012 无法识别可空类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17653781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com