关于C#中NullExceptionError的问题

发布于 2024-10-26 23:25:35 字数 373 浏览 1 评论 0原文

请参阅下面的代码来测试函数:

 List<Square> tempArr = new List<Square>();
 Coin tempCoin = new Coin(eCoinType.White);
 Square tempMove = new Square(1, eColumn.A, tempCoin);
 tempArr.Add(tempMove);
 m_OtheloGame.isLegalMove(tempMove, ref tempArr);

编译器在最后一行用 NullExceptionError 绘制了“tempArr”。

我不明白为什么,因为我已经在第一行分配了 tempArr,所以它不能为空。

See the below code for a testing of a function:

 List<Square> tempArr = new List<Square>();
 Coin tempCoin = new Coin(eCoinType.White);
 Square tempMove = new Square(1, eColumn.A, tempCoin);
 tempArr.Add(tempMove);
 m_OtheloGame.isLegalMove(tempMove, ref tempArr);

The compiler painted "tempArr" in the last line with NullExceptionError.

I don't understand why because I've already allocated tempArr in the first line so it can't be a null.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好多鱼好多余 2024-11-02 23:25:35

isLegalMove() 方法做什么,因为 tempArr 作为 ref 传入,所以它可能会被更改为引用 null

What does isLegalMove() method do, since tempArr passed in as ref it's possible that it could be changed to reference a null

小嗲 2024-11-02 23:25:35

查找 isLegalMove 方法内部的问题。
另外,转到“调试/异常”并在两列上启用“公共语言运行时异常”:“已抛出”和“用户未处理”。然后再次运行,您应该会收到 isLegalMove 方法中实际发生错误的通知。

Look for troubles inside the isLegalMove method.
Also, go to Debug/Exceptions and enable Common Language Runtime Exceptions on both columns: Thrown and User-unhandled. Then run again, you should be notified where the actual error occurs inside the isLegalMove method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文