C# 对象引用未在C上设置错误#
我不熟悉Visual C,只想创建一个基于CLI的小型应用程序。使用下面的代码,我收到了这个错误:“对象引用未设置为对象的实例。”。 显然,因为我是个笨蛋,我不知道如何解决这个问题 下面是我在Program.cs中的代码:C# 对象引用未在C上设置错误#,c#,object,reference,command-line-interface,object-reference,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) {
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);
}
}
我想做的是从程序类的Main方法访问参数,这样我就可以从普通类使用它
请帮我拿这个。谢谢 字段
公共字符串[]arg
在构造函数中使用,但它是在构造函数运行后设置的。请尝试以下方法:
public Average(string[] arg)
{
this.arg = arg
// ..
// existing code
}
var ave=新平均值()代码>使构造函数执行。此时,args
未设置,因此它将在foreach(this.arg中的字符串s)
处给您一个错误。让您的构造函数使用string[]args
并在构造函数开始时设置this.arg=args
。感谢您的快速响应。你的答案,代码修订,完全解决了这个错误。但是现在,一个新的错误出现了。“输入字符串的格式不正确。”也许我只是输入了错误的数据类型?我正在将args解析为Double,以便进行计算。请尝试使用“.”而不是“.”表示小数(或者相反)。还要检查数组是否包含任何空字符串。