关于C#中NullExceptionError的问题
请参阅下面的代码来测试函数:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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
查找
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.