c# - 在 c# 中带有数组的 null ReferenceException
问题描述
using System;
namespace ss{
class NUM{
public int[] numbers;
}
class MainClass {
public static void Main (string[] args) {
var num = new NUM();
num.numbers[90] = 12;
Console.WriteLine (num.numbers[90]);
}
}
}
当我执行这段代码时,我得到了这个错误,它从来没有发生在我身上
System.NullReferenceException: Object reference not set to an instance of an object
at ss.MainClass.Main
解决方案
所以你的问题很简单!
您已经初始化了类,但没有初始化数组,所以它指的是 null!
有两种解决方案。
首先将初始化添加到类[在构造函数中]它自己!
using System;
namespace ss{
class NUM{
public int[] numbers;
public NUM(int length){
numbers = new int[length];
}
}
class MainClass {
public static void Main (string[] args) {
var num = new NUM(100);
num.numbers[90] = 12;
Console.WriteLine (num.numbers[90]);
}
}
}
其次,您可以在 MainClass 中初始化数组:
using System;
namespace ss{
class NUM{
public int[] numbers;
}
class MainClass {
public static void Main (string[] args) {
var num = new NUM();
num.numbers = new int[100];
num.numbers[90] = 12;
Console.WriteLine (num.numbers[90]);
}
}
}
推荐阅读
- javascript - 为什么分号会影响我的 javascript 代码的行为?
- android - React Native - 关注一个可触摸的 useEffect 在 web 上而不是在 Android 上工作
- perl - 尝试使用 XML::Twig 将 XML 子树作为新元素插入时出现问题
- excel - 我无法使用 VBA 登录网站(Fundrich)
- vb.net - 如何压缩多个内存流?
- c++ - 具有非原子大小项目的无锁双端队列
- python - GPT2 聊天机器人单交互...属性错误:“NoneType”对象没有属性“multiprocessing_chunksize”问题:2
- c++ - LLVM 和 Clang 中的入口点文件是什么?
- ms-access - 将布尔值导出到 CSV
- java - “-source 7 不支持 Lambda 表达式,请使用 -source 8 启用 lambda 表达式”