console.readline 报警告

刚开始学c#
使用console.readline()时总是会弹出cs8601警告。
请问怎么解决这个问题?

img

GamerName这个数组怎么定义的

建议这么写
string[] GamerName = new string[100];

GamerName没有初始化?

  • 建议你看下这篇博客👉 :C#为什么输入console.readLine()调试仍然闪退
  • 除此之外, 这篇博客: C#笔记——Windows控制台输入流、Console.Read()和Console.ReadLine()中的 2.1 过程 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 启动程序,输入 A 后输入回车键

    2. 控制台输出结果为 65、13、10

  • 您还可以看一下 张建飞老师的C#急速入门课程中的 Console.WriteLine详解小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    根据参考资料,您可能是误用了Console.ReadLine(),应该使用Console.ReadKey()来等待按键并读取,解决警告问题,以下是代码示例:

    Console.WriteLine("敲击键盘为止!");
    Console.ReadKey();
    

    如若还有问题,请提供更详细的警告信息和相应代码来寻求更准确的解决方案。

ReadLine()可能输入null,也可能输入字符串。
string可以存储null,所以这个警告是可以通过编译的。但在.NET8.0以后,有了个新特性叫可空引用类型。没错,引用类型本来就可空,但可空引用类型强调了这个可能是空值。
如果要严谨,要去掉这个警告,需要用到这个可空引用类型,就是在类型后面加一个?。string? s = Console.ReadLine(),就行了。也就是说,把GameName声明为string?[] GameName。

GamerName[0]有可能为null