【发布时间】:2023-03-21 17:12:02
【问题描述】:
我有以下代码:
public void DrawInput(string ChatCurrent){
int uCursorTop;
int uCursorLeft;
uCursorLeft = Console.CursorLeft;
uCursorTop = Console.CursorTop;
Console.SetCursorPosition(0, uCursorTop);
Console.Write("> "+ChatCurrent+" ");
Console.SetCursorPosition(ChatCurrent.Length, uCursorTop);
}
除了最后一行,它的行为正常。最后一行抛出System.NullReferenceException: Object reference not set to an instance of an object。奇怪的事?具体来说,访问ChatCurrent.Length 是导致它失败的原因。之前的那一行,它与字符串的内容相呼应,工作得很好。
发生了什么事?
【问题讨论】:
-
这个函数怎么调用的,ChatCurrent的来源是什么?
-
它是从主线程通过引用传递的,而主线程又在一个单独的类中初始化它。我发现了问题,这很愚蠢,请在下面查看我的答案,以便您知道为什么要将燃烧的狗粪邮寄到我家门口。
-
输出前的那一行是什么?字符串连接不会抛出
null值。