所以,首先,我是初学者,在学校有6个月的C#经验。我可以用另一种方式做到这一点,但我想知道更多的方法来做事情所以.. 我需要帮助。发生的事情是,当我运行程序时一切正常,直到private void Add(),出现一些错误并说Simplify为null?提前谢谢。
using System;
namespace test1
{
class Details
{
int NumberSimplify;
double Solution;
private void Ask()
{
Console.Write("Would you like to Add or Substract (1 - Add, 2 - Substract) -► ");
int Opt = int.Parse(Console.ReadLine());
switch(Opt)
{
case 1:
Console.Write("\nHow many numbers would you like to add? -► ");
NumberSimplify = int.Parse(Console.ReadLine());
break;
case 2:
break;
}
}
public void DisplayResult(double[] Simplify)
{
Console.Write("Result from Addition -► ", Add(Simplify));
}
private void AddDetails()
{
Ask();
double[] Simplify = new double[NumberSimplify];
Console.WriteLine();
for (int i = 0; i < Simplify.Length; i++)
{
Console.Write("Number {0} -► ", i + 1);
Simplify[i] = double.Parse(Console.ReadLine());
}
}
private double Add(double[] Simplify)
{
AddDetails();
for (int i = 0; i < Simplify.Length; i++)
{
Solution = Simplify[i] + Simplify[i + 1];
}
return Solution;
}
}
class Execute
{
public static double[] Simplify { get; private set; }
static void Main(string[] args)
{
Details AddOrSub = new Details();
AddOrSub.DisplayResult(Simplify);
Console.ReadLine();
}
}
}
答案 0 :(得分:3)
简化确实是空的....
public static double[] Simplify { get; private set; }
你需要初始化数组......所以这应该更像;
public static double[] Simplify { get; private set; } = new double[someNumberOfElements]
但正如评论中指出的那样,你甚至不使用这个变量的初始版本(无论如何都会在你的下一个方法中被覆盖),所以考虑完全删除它并重新访问你的控制流......