Je découvre Visual C# et je voulais juste créer une application CLI minuscule. Avec les codes écrits ci-dessous, je reçois cette erreur: "Référence d'objet non définie sur une instance d'un objet.". Évidemment, puisque je suis un noob, je n'ai aucune idée comment résoudre le problème.Référence de l'objet Erreur non définie sur C#
Voici le code que j'ai en 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();
}
}
Voici le code que j'ai dans le 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);
}
}
Ce que je veux faire est d'accéder aux arguments de Main méthode de la classe Program afin que je puisse travailler avec lui de la classe moyenne.
S'il vous plaît aidez-moi avec celui-ci. Merci!
'var ave = new Average();' provoque l'exécution de votre constructeur. À ce stade, 'args' n'est pas défini, il vous donnera une erreur à' foreach (string s dans this.arg) '. Faites votre constructeur prendre 'string [] args' et définissez' this.arg = args' au début de votre constructeur. – Rob