【问题标题】:Object reference not set exception despite reference being set尽管设置了引用,但对象引用未设置异常
【发布时间】:2016-07-14 02:41:06
【问题描述】:

我目前正在用 C# 编写多人 FPS 游戏,客户端发生了一些奇怪的事情:发送新子弹的射击数据包的用户导致服务器将新子弹数据包广播给所有连接的用户,但是抛出此异常:

参见第 94 行:我尝试访问数据包数据的最后一部分,由! 分割,其中包含子弹必须射向的光标位置。

我尝试访问它,并抛出“未设置对象引用”异常,即使您可以清楚地看到定义了Parts[2](查看调试详细信息,它是"612,311",但是当我尝试要访问它,会引发此异常)。

那为什么它不起作用呢?

【问题讨论】:

    标签: .net arrays string exception split


    【解决方案1】:

    应用程序是多线程的吗?是否有其他东西接收到可能正在修改它的相同消息,或者在接收者处理它之前发送消息的任何东西都可以修改它吗? Message 是一个可以重置其值的类中的成员变量吗?

    您所看到的似乎是不可能的。发生这种情况时,在单线程应用程序中通常是不可能的,但在多个线程访问相同变量时可能。

    【讨论】:

    • 谢谢,我还是通过更正服务器数据包发送的格式解决了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 2014-06-25
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多