我正在尝试从Program.cs中的Reactivo类调用一个方法,并将数组作为参数。
这是从Program:
调用Reactivo的代码 class Program
{
static Reactivo r = new Reactivo();
const int M = 5;
static Reactivo[] arreglo = new Reactivo[M];
static void Main(string[] args)
{
for (int i = 0; i < M; i++)
{
r.ConstructorPorOmision(arreglo[i]);
}
}
}
这是方法Imprimir(),带有Reactivo类:
class Reactivo
{
public String color = "";
public String simbolo = "";
public int peso = 0;
public int componentes = 0;
public void ConstructorPorOmision(Reactivo r)
{
Console.Write("\nValor tipo cadena para el atributo \"simbolo\":\t");
r.simbolo = Console.ReadLine();
Console.Write("\nValor tipo cadena para el atributo \"color\":\t");
r.color = Console.ReadLine();
Console.Write("\nValor tipo entero para el atributo \"peso\":\t");
r.peso = Convert.ToInt16(Console.ReadLine());
do
{
if (componentes < 5 || componentes > 25)
{
Console.Write("\nEscribe un valor entre 5 y 25 para componentes");
}
Console.Write("\nValor tipo entero para el atributo \"componentes\":\t");
r.componentes = Convert.ToInt16(Console.ReadLine());
} while (componentes < 5 || componentes > 25);
Console.Write("\nLos valores han sido leidos correctamente.\n");
}
}
但是,当我尝试运行控制台应用程序时,我收到错误:
ConsoleApplication1.exe中出现未处理的“System.NullReferenceException”类型异常
我检查了我的代码中的冗余(例如,在这种方法中调用方法)但我找不到。什么似乎是问题?我该如何解决异常?