[C#] Basics für Anfänger

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [C#] Basics für Anfänger

      Hallo und herzlich willkommen zu meinem ersten C# Tutorial :)


      Inhaltsverzeichnis

      1. Vorwort
      2. Erklärung des Codes
      3. Die ersten Schritte
      4. Variablen
      5. try und catch
      6. Erste Zusammenfassung
      7. Erste Methode
      8. Die If Abfrage
      9. Die for Schleife
      10. Das Ende
      11. Schlusswort

      Vorwort


      In diesem Tutorial werden wir uns einmal die Basics anschauen.
      Auf die Frage „Was“ C# ist werde ich hier also nicht eingehen, da es den Rahmen sprengen würde.
      Ich werde versuchen, ein paar der wichtigsten Elemente mit einzubeziehen.

      Ohne weitere Vorreden wollen wir nun anfangen: (Ich benutze Visual Studio!)

      Wir starten mit einem „Neuen Projekt“ -> „Visual C#“ -> „Konsolenanwendung“




      Ich nenne das Projekt in diesem Falle „Tutorial“.

      Am Anfang sieht unser Code so aus:

      Quellcode

      1. using System;
      2. using System.Collections.Generic;
      3. using System.Linq;
      4. using System.Text;
      5. using System.Threading.Tasks;
      6. namespace Tutorial
      7. {
      8. class Program
      9. {
      10. static void Main(string[] args)
      11. {
      12. }
      13. }
      14. }
      Alles anzeigen


      Kurze Erklärung zum Code:

      Ganz oben werden Bibliotheken eingebunden damit wir ihre Methoden benutzen können.

      Weiter unten wird der „namespace“ deklariert, der einen Satz von verknüpften Objekten enthält.
      Auf gut Deutsch eine Art „InternerName“ unseres bisherigen Programmes.

      Dann wird eine neue Klasse erstellt, in einer Klasse kann man Felder, Eigenschaften, Methoden und Events deklarieren. Dank der Vererbung ist diese auch für OOP sehr wichtig (Objekt Orientiertes Programmieren) welches wir diesmal aber nicht behandeln.

      Dann kommt schließlich unsere Main Funktion, diese ist der Einstiegspunktfür unser Programm.

      Was die einzelnen Parameter wie „static“ oder „void“ heißen werde ich weiter untern erklären.

      Der Code ist aber noch recht unspektakulär da er nichts macht außer ein CMD Fenster zu öffnen welches sich sofort schließt.

      Nun stellen wir uns die Frage was wir machen möchten.

      Ich habe mir gedacht dass wir ein paar der wichtigsten Funktionen mit der Dynamik des Users verbinden. Da ein simples Hallo Welt ausgelutscht ist ^^


      --------------------------------------------------------Die ersten Schritte--------------------------------------------------------


      Unser Plan ist es dem User einen Text eingeben zu lassen und ihn daraufhin selbst auszugeben. Dies aber in einer vom User gewünschten Stückzahl.

      Fangen wir nun mit der Eingabe des Users an, wir fordern ihn auf, einen Text einzugeben:

      Quellcode

      1. using System;
      2. using System.Collections.Generic;
      3. using System.Linq;
      4. using System.Text;
      5. using System.Threading.Tasks;
      6. namespace Tutorial
      7. {
      8. class Program
      9. {
      10. static void Main(string[] args)
      11. {
      12. Console.WriteLine(„Hallo User“);
      13. Console.WriteLine(„Bitte sage mir, was ich wiederholen soll!“);
      14. }
      15. }
      16. }
      Alles anzeigen



      Durch den Konsolen Befehl „WriteLine“ können wir eine Zeile in der Konsole ausgeben lassen. Es gibt auch noch „Write“ dies würde aber alles in eine Zeile schreiben und es wäre nicht mehr wirklich lesbar.
      Man könnte es auch durch einen zusammengesetzten String lösen:

      Quellcode

      1. Console.WriteLine(„Hallo User“ + Environment.NewLine + „Bitte sage mir, was ich wiederholen soll!“);


      Erklärung:

      Das „Environment.NewLine“ sagt an der Stelle das eine neue Zeile im String entstehen soll.

      Die „+“ ´e sind wie eine Art Kleber die den String zusammenfügen.

      Dies möchten wir aber erstmal nicht benutzen da es leicht zu Verwirrung kommen könnte.

      --------------------------------------------------------Variablen--------------------------------------------------------

      Gut, nun möchten wir das was der User eingibt auch benutzen können, dafür müssen wir seine Eingabe in einer Variable speichern. Um dies zu machen brauchen wir folgendes:

      Quellcode

      1. string userInput = Console.ReadLine();


      Erklärung:

      string sagt, das es sich bei dieser Variable um eine Variable handelt welche eine „Zeichenfolge“ speichert. Dies kann alles sein, von Zahlenüber Buchstaben, bis hin zu Sonderzeichen.

      userInput ist der Name unserer Variable, diesen müssen wir später „Aufrufen“ um den Wert mit dem in ihr gespeichertenWert zu arbeiten.

      Console.ReadLine() ist eine Methode um dem User die Möglichkeit zu geben etwas in die Konsole einzugeben. Das Programm wird solange pausiert bis eine Eingabe gemacht wurde.


      --------------------------------------------------------try und catch--------------------------------------------------------

      Nun gehen wir einen Schritt weiter und möchten noch wissen wie oft wir es wiederholen sollen:

      Quellcode

      1. Console.WriteLine(„Wie oft soll ich es wiederholen?“);
      2. string userRepeat = Console.ReadLine();
      3. try
      4. {
      5. int repeat = Convert.ToInt32(userRepeat);
      6. }
      7. catch
      8. {
      9. Console.WriteLine(„Das war keine Zahl!“);
      10. }



      Erklärung:

      Wir setzen das eben gelernte erneut ein und fragen wie oft wir die Eingabe wiederholen sollen.
      Das Ergebnis wird dann in der string Variable „userRepeat“ gespeichert.

      Da man mit einem „string“ aber nicht rechnen kann müssen wir diesen nun in einen „int“ (32) verwandeln.
      Ein int (32) kann eine Ganzzahl von −2.147.483.648 bis +2.147.483.648 speichern.

      Beim nächsten Schritt muss man eigentlich nur logisch denken:

      Das „try“ sagt, versuche das was in geschweiften Klammern steht.

      Das „catch“ wiederum sagt, falls das nicht klappt, führ das aus was in meinen geschweiften Klammen steht.

      In diesem Fall wird versucht die Eingabe des Users in eine Zahl zu verwandeln, dies geht aber nur wenn der User auch tatsächlich eine Zahl (Ganzzahl) eingegeben hat.
      Falls nicht würde das Programm abstürzen, dies wollen wir hiermit aber verhindern und geben dann die Meldung aus das keine Zahl eingegeben wurde.

      --------------------------------------------------------Erste Zusammenfassung:--------------------------------------------------------

      Was haben wir bis jetzt?
      • Wir fordern den User auf eine Zeichenfolge einzugeben, welche in einer string Variable gespeichert wird.
      • Wir fordern ihn dann auf eine Zahl einzugeben die besagt wie oft wir seine Eingabe wiederholen sollen
      • Wir nehmen diese Zahl welche noch im string Format ist und versuchen diese in ein Zahlenformat zu konvertieren.
      --------------------------------------------------------Erste Methode--------------------------------------------------------

      Nun kommt der eigentliche Teil des Programmes:

      Der Lesbarkeit des Codes zuliebe, werde ich nun eine eigene Methode erstellen.
      Unser Programm sieht nach erstellen erstmal so aus:

      Quellcode

      1. using System;
      2. using System.Collections.Generic;
      3. using System.Linq;
      4. using System.Text;
      5. using System.Threading.Tasks;
      6. namespace Tutorial
      7. {
      8. class Program
      9. {
      10. static void Main(string[] args)
      11. {
      12. Console.WriteLine(„Hallo User“);
      13. Console.WriteLine(„Bitte sage mir, was ich wiederholen soll!“);
      14. string userInput = Console.ReadLine();
      15. Console.WriteLine(„Wie oft soll ich es wiederholen?“);
      16. string userRepeat = Console.ReadLine();
      17. try
      18. {
      19. int repeat = Convert.ToInt32(userRepeat);
      20. }
      21. catch
      22. {
      23. Console.WriteLine(„Das war keine Zahl!“);
      24. }
      25. }
      26. public static void repeatInput(string Input, int Repeat)
      27. {
      28. }
      29. }
      30. }
      Alles anzeigen


      Erklärung:

      public besagt das auf diese Methode von überall aus zugegriffen werden kann.

      static ermöglicht das Aufrufen dieser Methode ohne einen Objektverweis.

      void sagt dass diese Methode keinen Wert zurückgibt.

      repeatInput ist der Name unserer Methode.

      Kommen wir nun zu den „Argumenten“

      Diese werden hinter dem Namen in Klammern gesetzt:

      In diesem Fall möchten wir das beim Aufrufen der Methode ein string und ein int mitgegeben werden, damit wir damit arbeiten können.

      --------------------------------------------------------Die If Abfrage--------------------------------------------------------

      Bevor wir loslegen möchten wir sichergehen das keine Minuszahlen oder 0 eingegeben wurden. Dies machen wir am besten mit einer If Abfrage:

      Quellcode

      1. if (Repeat > 0)
      2. {
      3. }
      4. else
      5. {
      6. Console.WriteLine(„Es muss eine Zahl zwischen 1 und 2.147.483.648 sein“);
      7. }


      Erklärung:



      Die If Abfrage ist relativ simpel. Wir fragen ob „etwas“ so ist und wenn ja dann wird das in der Geschweiften Klammer steht ausgeführt.

      Für den Fall das es nicht so ist gibt es das else. Wenn „es“ nicht so sein sollte dann wird das ausgeführt was in den geschweiften Klammern von Else steht.

      --------------------------------------------------------Die for Schleife--------------------------------------------------------

      Da wir uns an diesem Punkt absolut sicher sein können das alle möglichen Fehlerquellen behandelt wurden, möchten wir nun endlich die Eingabe ausgeben.
      Für unser Vorhaben wäre eine for Schleife ideal, diese macht etwas solange bis eine Bedingung erfüllt ist.

      Quellcode

      1. for (int i = 0; i != Repeat ; i++)
      2. {
      3. }


      Erklärung:


      Um diese zu erklären breche ich diese mal auf:

      „int i = 0“ Hier erstellen wir eine neue Variable „i“ und geben ihr den Wert 0.
      ;
      „i != Repeat“ Hier wird gesagt, solange „i“ ungleich „Repeat“ ist.
      ;
      „i++“ Hier sagen wir das nach jedem durchlauf „i“ +1 gerechnet wird.

      Zusammenfassung:

      Wir möchten dass diese Schleife so oft ausgeführt wird, wie die Zahl „Repeat“ groß ist.

      Um die Eingabe wieder auszugeben müssen wir nun einfach:

      Quellcode

      1. Console.WriteLine(Input);


      In die for Schleife setzen und wir sind fertig :)

      Dadurch dass wir die string Variable „Input“ als Parameter übergeben können wir diese nun hier ausgeben lassen.

      --------------------------------------------------------Das Ende--------------------------------------------------------

      Um das Programm fertigzustellen müssen wir nur noch 2 Dinge erledigen:

      1. Unsere Methode im try aufrufen (Mit Parametern)
      2. Ein:

        Quellcode

        1. Console.ReadLine();
        Hinter das try/catch setzen damit sich das Konsolenfenster nicht sofort schließt.

      Unsere Main Methode sieht dann so aus:

      Quellcode

      1. static void Main(string[] args)
      2. {
      3. Console.WriteLine("Hallo User");
      4. Console.WriteLine("Bitte sage mir, was ich wiederholen soll!");
      5. string userInput = Console.ReadLine();
      6. Console.WriteLine("Wie oft soll ich es wiederholen?");
      7. string userRepeat = Console.ReadLine();
      8. try
      9. {
      10. int repeat = Convert.ToInt32(userRepeat);
      11. repeatInput(userInput,repeat);
      12. }
      13. catch
      14. {
      15. Console.WriteLine("Das war keine Zahl!");
      16. }
      17. Console.ReadLine();
      18. }
      Alles anzeigen


      --------------------------------------------------------Schlusswort--------------------------------------------------------


      Das war mein „Basic“ Tutorial zu C#, ich hoffe ich habe es verständlich geschrieben.

      Falls fragen da sind, postet diese bitte in diesen Thread oder schreibt mich in Skype an :)

      Hier der ganze Code online: pastebin.com/G64qAPXY

      PS: Ich habe das TuT in Word geschrieben, beim kopieren hats mir die ganze formatierung zerissen.
      Ich hoffe man kann es so lesen.

      LG Chakratos

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von chakratos ()