Ergebnis 1 bis 2 von 2

Thema: C# Methodenverweise

  1. #1
    Neuer Benutzer
    Registriert seit
    16.03.2018
    Beiträge
    1

    Standard C# Methodenverweise

    Hallo liebe Leut',

    ich bin ein Anfänger und versuche an Herausforderungen zu wachsen.
    Aktuell habe ich einen Code zusammengetippt, der nicht so recht will. Wahrscheinlich fehlen mit teilweise Grundkenntnisse.
    Ich habe Variablen, die in jeder Methode genutzt, weiterverarbeitet und wieder zurückgegeben werden soll.
    Darum dachte ich mir, wäre es ja schlau die Variablen außerhalb einer Methode direkt unter die Klasse zu schreiben.
    Problem ist nun aber: Wenn ich die Methode nicht-statisch mache, kommt jede Methode an die Variablen ran, jedoch kann ich dann nicht mehr aus der Main auf die nächste Methode verweisen.
    Ändere ich die Methoden auf Static, kann ich zwar von der Main auf andere Methoden verweisen, jedoch kommen diese dann (logischer Weise, wie ich mittlerweile gelernt hab) nicht mehr an die Variablen ran.

    Kann mir bitte jemand zeigen, wie ich das ändern muss?

    Der Code sieht so aus:

    Code:
    class Programm
    {
    int tag = 0;
    int monat = 0;
    string etag;
    string emonat;
    
    public static void Main (string[] args) //hier habe ich schon gelernt, dass die Main immer static sein muss
    {
    Methode1();
    }
    
    publich static void Methode1()
    {
    //hier sollen die Variablen genutzt, mit neuen Werten belegt und zurückgegeben werden, sodass eine widerrum andere Methode mit den neuen werten weiterarbeiten kann
    }
    }
    In VB war das ganz einfach. Da konnte ich die Variablen in der Main belassen und dann immer wieder main.variablenname darauf zugreifen. Das funktioniert hier jedoch nicht...

    Ich wäre euch wirklich dankbar, könntet ihr diesen Code zum Laufen bekommen.

    Viele Grüße,
    Kelariel
    Geändert von StarShaper (17.03.2018 um 21:13 Uhr)

  2. #2
    CodePlanet Staff Avatar von StarShaper
    Registriert seit
    10.09.2005
    Beiträge
    70

    Standard

    Hallo Kelariel!

    Wie du schon richtig bemerkt hast, ist die Main-Methode immer static.

    Du solltest am Besten eine zweite Klasse schreiben, die du dann in deiner Main-Methode ausführst und die Getter und Setter für deine Variablen hat.

    Code:
    int tag = 0;
    int monat = 0;
    string etag;
    string emonat;
    Ein kleines Beispiel sieht so aus.

    PHP-Code:
    public class Person
    {
        
    // Field
        
    public string name;

        
    // Constructor that takes no arguments.
        
    public Person()
        {
            
    name "unknown";
        }

        
    // Constructor that takes one argument.
        
    public Person(string nm)
        {
            
    name nm;
        }

        
    // Method
        
    public void SetName(string newName)
        {
            
    name newName;
        }
    }

    class 
    Programm
    {
        static 
    void Main()
        {
            
    // Call the constructor that has no parameters.
            
    Person person1 = new Person();
            
    Console.WriteLine(person1.name);

            
    person1.SetName("John Smith");
            
    Console.WriteLine(person1.name);

            
    // Call the constructor that has one parameter.
            
    Person person2 = new Person("Sarah Jones");
            
    Console.WriteLine(person2.name);

            
    // Keep the console window open in debug mode.
            
    Console.WriteLine("Press any key to exit.");
            
    Console.ReadKey();
        }


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •