So, ich habe die Mehrheit meiner Code abgeschlossen, aber ein Kriterium erforderte mich, eine Prozedur zu verwenden. Also, als ich mich entschied, eine Prozedur zu verwenden, stieß ich auf mehrere Probleme. Das Hauptproblem war, dass die Variablen, die ich in der ersten Methode (Generate Number
und number
) eingeschlossen habe, nicht in meinen anderen Methoden angezeigt werden. So kann ich diese Variablen global machen, so dass sie in allen meinen Methoden funktionieren oder gibt es eine alternative Lösung zu diesem Problem?C# Probleme mit der Verwendung globaler Variablen
Hinweis: Dies ist nicht mein voller Code ist nur ein Stück daraus.
class Program
{
static void Main(string[] args)
{
Random GenerateNumber = new Random();
int[] number = new int[6];
Generating();
Ordering();
}
static void Generating()
{
Console.Clear();
Console.WriteLine("Stage 1 : 6 random numbers have been generated:\n");
for (int c = 0; c < number.Length; c++)
{
if (number[c] == 0)
{
number[c] = GenerateNumber.Next(1, 50);
Console.Write("Random number " + (c + 1) + " = " + number[c] + "\n");
}
}
}
static void Ordering()
{
Console.Clear();
for (int i = 0; i < number.Length; i++)
{
Array.Sort(number);
Console.Write("Number " + (i + 1) + " = " + number[i] + "\n");
}
}
}
Sie können sie zu statischen Mitgliedern der 'Program' Klasse machen. – Rotem
Google für C# variable Bereiche –
Sie wollen nicht * globals * möchten Sie * Parameter * übergeben, siehe [Parameter übergeben (C# -Programmierhandbuch)] (https://docs.microsoft.com/en-us/dotnet/ csharp/programming-guide/classes-and-structs/passing-parameters) –