[C#] Konsolenanwendung Addition Optimierung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von size, 25. April 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 25. April 2009
    Konsolenanwendung Addition Optimierung

    Hallo, bin seit nen paar Tagen dran C# zu lernen und hab schon nen bisschen rumgespielt.
    Benutze Visual Studio C# 2008 und wollte mal nachfragen, ob dies bei C# "guter Stil" ist oder ob ich grobe Fehler mache und ob man etwas optimieren kann.

    Code:
    using System;
    
    namespace Rechner
    {
     class Calculator
     {
     public int Calc()
     {
     Console.WriteLine("Bitte geben Sie nacheinander zwei Zahlen ein und bestätigen diese je mit einem Druck auf Enter");
    
     Console.Write("Zahl 1: ");
     int FirstInput = Convert.ToInt32(Console.ReadLine());
     Console.Write("Zahl 2: ");
     int SecondInput = Convert.ToInt32(Console.ReadLine());
     int addition = FirstInput + SecondInput;
    
     Console.WriteLine("Das Ergebnis lautet bei einer Addition folglich: " + addition);
     return(addition);
     }
     static void Main()
     {
     Calculator Operation = new Calculator();
     Operation.Calc();
     Console.ReadLine();
     }
     }
    }
    
    
    Ist zwar nur nen sehr simples Programm, aber will lieber von Anfang an so viel wie möglich richtig machen.
     
  2. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    Also, die Calc()-Funktion ist richtig. Aber ich frage mich wieso du extra ein Calculator-Objekt erstellst. Du kannst doch die Calc()-Funktion einfach so in Main() aufrufen:

    Code:
     static void Main()
     {
     Calc();
     Console.ReadLine();
     }
     
  3. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    Das hatte ich am Anfang auch versucht, doch dann kommt bei mir der Fehler:

    Für das statische Feld, die Methode oder die Eigenschaft "Rechner.Calculator.Calc()" ist ein Objektverweis erforderlich.

    Deswegen hatte ich das Objekt "Operation" erstellt.
     
  4. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    Dann häng der Calc Klasse doch mal das Schlüsselwort static an.
     
  5. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    genau schnappi hat recht so müssts direkt gehen ohne das Erstellen des Objektes

    Code:
    using System;
    
    namespace Rechner
    {
     class Calculator
     {
     public static int Calc()
     {
     Console.WriteLine("Bitte geben Sie nacheinander zwei Zahlen ein und bestätigen diese je mit einem Druck auf Enter");
    
     Console.Write("Zahl 1: ");
     int FirstInput = Convert.ToInt32(Console.ReadLine());
     Console.Write("Zahl 2: ");
     int SecondInput = Convert.ToInt32(Console.ReadLine());
     int addition = FirstInput + SecondInput;
    
     Console.WriteLine("Das Ergebnis lautet bei einer Addition folglich: " + addition);
     return(addition);
     }
     static void Main()
     {
     Calc();
     Console.ReadLine();
     }
     }
    }
    nur die Calc funktion braucht in dem Kontext eig kein Rückgabewert -> könnte also auch void sein anstatt int
     
  6. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    Und noch ein Tipp...

    Ich würde um deine Convert to noch ein try catch block bauen um so eingabefehler abzufangen.

    Code:
    try
    {
     int FirstInput = Convert.ToInt32(Console.ReadLine());
    }
    catch(Exception e)
    {
     Console.WriteLine(e.Message);
    }
    
    greetz Jojo
     
  7. 25. April 2009
    AW: Konsolenanwendung Addition Optimierung

    Danke, so funktionierts auch ohne Extraobjekt. Bin mir über die Schlüsselworte noch nicht ganz bewusst, was denn jedes "macht".

    Auch noch ein Dank an jojo2502, so weit war ich noch nicht, aber ist glaube ich so essentiell wie XSS-Lücken abfangen bei PHP. Denke ich zumindest.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.