In der Methode nameCheck
überprüfe ich einfach, ob irgendeine Eingabe gegeben ist.Wie bekomme ich eine Variable von einer privaten Methode zu einer statischen Methode?
Zuerst habe ich versucht, die Methode zu static
und machte eine public
Variable zu ändern, aber dann merkte ich es nicht, weil die Main-Methode static
ist arbeiten kann name
kann so nicht funktionieren. Ich suchte im Internet und stellte fest, dass ich kein Objekt nameCheck
verwenden, also löste ich das.
Nun weiß ich nicht, wie die string
in dem Verfahren erhalten nameCheck
zum string
in meiner Main
Methode.
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hallo, wie heißt du?");
string name = Console.ReadLine();
Program a = new Program();
a.nameCheck(name);
Console.WriteLine("Hallo " + name);
Console.ReadLine();
}
private void nameCheck(string n)
{
if (n == "")
{
Console.WriteLine("Geben Sie einen Namen ein");
n = Console.ReadLine();
}
}
}
Machen Sie Ihre private Methode auch statisch und rufen Sie sie einfach von Ihrer Main-Methode. Keine Notwendigkeit, eine neue Instanz von Program zu erstellen. –
Es ist wirklich nicht klar, was Sie hier zu tun versuchen. Ich denke, du musst deine Logik überdenken, was du machst ist wahrscheinlich nicht schwierig. Vielleicht müssen Sie zuerst nur ein C# -Tutorial durchgehen? – DavidG
In Ihrem Code hier ist der Name in Ihrem Haupt gemacht, Sie übergeben es überprüft werden, aber tatsächlich nichts zurück von nameCheck, so bleibt der Name .. es gibt keine Weitergabe zurück .. – BugFinder