c#中的对象引用未设置错误

本文关键字:设置 错误 对象引用 | 更新日期: 2023-09-27 18:14:32

我是Visual c#新手,只是想创建一个基于cli的小应用程序。使用下面编写的代码,我收到这个错误:"对象引用未设置为对象的实例。"显然,由于我是个新手,我不知道如何解决这个问题。

以下是我在Program.cs中的代码:
class Program
{
    static void Main(string[] args)
    {
        GetAverage(args);
    }
    static void GetAverage(string[] s)
    {
        var ave = new Average();
        ave.arg = s;
        ave.FindAverage();
        ave.DisplayResult();
    }
}
下面是我在Average.cs中的代码:
public class Average
{
    public Average()
    {
        Console.Write("'n" + "Given numbers: ");
        foreach (string s in this.arg)
        {
            Console.Write(this.arg + " ");
            num += Double.Parse(s);
        }
    }
    public double num = 0;
    public string[] arg;
    public double result;
    public void FindAverage()
    {
        this.result = this.num / this.arg.Length;
    }
    public void DisplayResult()
    {
        Console.WriteLine("'n" + "Average: " + this.result);
    }
}

我想做的是从Program类的Main方法中访问参数,这样我就可以从Average类中使用它。

请帮我解决这个问题。谢谢!

c#中的对象引用未设置错误

字段public string[] arg;在构造函数中使用,但它是在构造函数运行后设置的。试试这样做:

public Average(string[] arg)
{
    this.arg = arg
    // ..
    // existing code
}