C#

时间:2015-09-24 11:25:25

标签: c# object reference command-line-interface object-reference

我是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类中使用它。

请帮我这个。谢谢!

1 个答案:

答案 0 :(得分:4)

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

public Average(string[] arg)
{
    this.arg = arg

    // ..
    // existing code
}