gpt4 book ai didi

c# - 为什么我有时会在 ?. 之后得到 Null 引用异常。查看?

转载 作者:行者123 更新时间:2023-11-30 17:30:27 26 4
gpt4 key购买 nike

我在家里的桌面上有一个 24/7 全天候运行的应用程序,它使用 websocket 库连接到它的服务(这部分不是我写的,但我有代码),它很少抛出 NullReferenceException 在此行:

socket?.Dispose();

由于服务的不可靠性,它被设置为大约每 3-5 分钟重新连接一次。所以假设每天这条线可能被执行 ~300 次。在过去 3 年中,这种情况可能每 3-4 个月发生一次。该应用程序已定期更新到最新版本的 c# 框架,从 4.5 开始。

在什么情况下会发生此异常?

最佳答案

documentation声明对于 obj?.DoSomething(),强调我的:

The new way [using ?.] is thread-safe because the compiler generates code to evaluate [obj] one time only, keeping the result in a temporary variable.

所以问题只能是Dispose()的执行引起的,无论是框架的一部分还是你自己的实现。

关于c# - 为什么我有时会在 ?. 之后得到 Null 引用异常。查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49771769/

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