Ein Passwort wird per E-Mail an Sie geschickt

C# (C Sharp) ist eine objektorientierte allrounder Programmiersprache.

Die Sprache wurde im Auftrag von Microsoft entwickelt und ist für fast alle Zwecke (außer in der Webentwicklung) einsetzbar.

C# gehört zu den objektorientierten Programmiersprachen und ist deshalb komplexer und schwieriger zu lernen, als beispielsweise funktionale Programmiersprachen wie Javascript (welches auch als objektorientiert angesehen werden kann, in der praktischen Ausführung, zumindest bei kleinen Projekten eher funktional Verwendung findet).

Durch die erhöhte Komplexität der Objektorientierung lassen sich dafür größere Projekte besser und schneller umsetzen, als mit reinen funktionalen Programmiersprachen. Ein weiterer Vorteil der erhöhten Komplexität ist, das C# und andere objektorientierte Programmiersprachen gefragter und damit auch besser bezahlt sind, als Sprachen, welche eine niedrigere Komplexität aufweisen.

In der Zukunft genießt die Sprache eine steigende Relevanz,

  • da sie sehr ausgereift und top gepflegt ist,
  • stetig weiterentwickelt wird,
  • eine sehr gute Dokumentation besitzt und eine beginnende Plattformunabhängigkeit aufweist (d.h. sie ist auf mehreren Betriebssystemen ausführbar)

Die Sprache ist sehr zu empfehlen, da sie gut debuggbar ist
(Man kann z.B. Anweisung für Anweisung ausführen und sogenannte Breakpoints setzen,
an denen das Programm anhält, sobald sie erreicht werden, um z.B. Fehler zu beheben oder den Code zu überprüfen).
Das hat zur Folge, dass Fehler leichter und frustfreier behoben werden können und auch komplexere Aufgaben gut gelöst werden können.

Um mit C# Programme zu entwickeln brauchst du noch eine Entwicklungsumgebung, in welcher du deinen
Code eingibst und debuggen kannst, deine Projekte verwaltest, eine graphische Oberfläche designst und vieles mehr. Wir empfehlen für diese Zwecke  Visual Studio.

In diesem Bereich ist Visual Studio die am meisten benutzte und am besten ausgereifte Umgebung.
Sie wurde von Microsoft entwickelt und kann kostenlos heruntergeladen werden.

Im folgendem Abschnitt möchten wir dir die Grundlagen der Sprache aufzeigen, indem wir dir ein einfaches Programm in C# vorstellen

Dadurch erkennst du schnell, ob dir C# von dem Aufbau und der Struktur gefällt, oder ob du doch lieber eine andere Programmiersprache lernen willst.

Nach dem Starten von Visual Studio drückst du auf den Button „New Project…“ oder im Deutschen „Neues Projekt…

Neues Projekt in Visual Studio erstellen

Anschließend wählst du unter Templates -> Visual C# -> Windows „WPF Applikation“ aus und erstellst ein neues Projekt.

WPF Anwendung erstellen

Nachdem dein Projekt geladen ist, siehst du den Oberflächendesigner, dort definierst du das Aussehen und die Controls deiner Oberfläche. Um ein neues Control hinzuzufügen, klickst du auf Ansicht -> Werkzeugkasten. Aus dem Werkzeugkasten ziehst du dir nun einen Button und ein Label in den Designer.
Um zu definieren, was passiert, wenn der Button geklickt wird, fokussierst du ihn und drückst „F4“.
In dem Eigenschaftenfenster drückst du nun rechts oben auf den Blitz und trägst in das Eingabefeld neben ‚Klick‘ oder „Click“ „Button_Click“ ein.

Hinzufügen des Werkzeugkastens

Event für den Buttonklick

Anschließend verändern wir den C# Code der Datei MainWindow.xaml.cs. So dass jedes mal, wenn der Button geklickt auf dem Label angezeigt wird, wie oft der Button gedrückt wurde. Um das zu erreichen veränderst du nun den Code der Datei, sodass es anschließend folgendermaßen aussehen sollte:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace LearnCSharp
{
    public partial class MainWindow : Window
    {
        int count = 0;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            count++;
            label1.Content = "Der Button wurde " + count + " mal gecklickt!";
        }
    }
}

Wenn du alle Schritte befolgt hast, kannst du deine Anwendung nun ausführen, indem du oben auf den grünen Pfeil mit ‚Start‘ drückst. Nachdem sich die Anwendung geöffnet hat, kannst du den Zähler im Label um 1 erhöhen, indem du auf den Button drückst.
Und schon hast du deine erste C# – WPF Anwendung programmiert und ausgeführt!

Erklärung des Programms:

Als erstes haben wir einen Button und ein Label in den Designer gezogen, soweit so gut.
Anschließend haben wir über das ClickEreignis unseres Buttons ein Ereignis definiert,
was also passieren soll, wenn dieser Button gedrückt wird.
Über den Code haben wir auf unser Label zugegriffen. Wir hätten vorher den Namen des Labels über seine Namen-Eigenschaften ändern können.
Dann hätten wir nicht label1.Content sondern beispielsweise mylabel.Content geschrieben.

Nun zum C# Code:

Unser C# Code beginnt mit einer Reihe von ‚using‘ Anweisungen. Diese ‚using‘ Anweisungen fügen sogenannte Namespaces zu unserer Klasse hinzu. Damit sollen wir uns jetzt aber nicht weiter aufhalten, da diese Anweisungen vorerst für das Verständniss nicht relevant sind.

Nach den ‚using‘ Anweisungen folgt eine Zeile mit ’namespace LeanCSharp‘, oder wie du eben dein Projekt genannt hast. Dieser namespace ist vorerst auch nicht relevant. Wichtig ist nur zu wissen, dass unser Code immer in seinen Klammern ‚{ }‘ geschrieben werden muss.

Nach dem namespace folgt unsere Klasse (‚public partial class MainWindow: Window‘). Mit ‚public‘ bewirken wir, dass wir auch von anderen Klassen auf diese Klasse zugreifen und von ihr erben dürfen. Mit ‚partial‘ beschäftigen wir uns erstmal nicht, da die Erklärung zu diesem Zeitpunkt mehr verwirrt als aufklärt.

Danach kommt class. Das bedeutet, dass es sich hier um eine Klassendefinition handelt. Dann kommt noch MainWindow: Window. Dieser Abschnitt gibt den Namen der Klasse an (‚MainWindow‘) und dass Mainwindow von der Klasse (‚Window‘) abstammt. Durch diese Vererbung erhält die Klasse ‚MainWindow‘ Eigenschaften der Klasse ‚Window‘.

Nach dieser Zeile folgen wieder geschweifte Klammern ‚{ }‘. In diese geschweiften Klammern kommt nun unser tatsächlicher Code. Unsere erste eigene Anweisung ist ‚int count = 0;‘. Diese Anweisung enthält die Deklaration und die Initialisierung einer Variable.

Eine Variable ist sozusagen ein Behälter für einen tatsächlichen Wert. Über den Variablennamen kann man eine Variable „ansprechen“, das heißt man kann man mit dem Wert, der sich in ihr befindet arbeiten, ohne zu wissen was der tatsächliche Wert später einmal sein wird. Den Wert einer Variable kann man zu jedem Zeitpunkt im Programmverlauf ändern, solange der neue Wert vom gleichen Typ ist wie die Variable (variabel = veränderbar).

Die Deklaration bedeutet die Reservierung von Speicher für die Variable und die Initialisierung bedeutet dieser Variable einen Wert zuzuweisen. Wir haben eine Variable vom Typ ‚int‘ deklariert und initialisiert. Mit dem Schlüsselwort ‚int‘ geben wir an, dass es sich bei der Variablen um eine Ganzzahl handelt. Dieser Variable weisen wir nun den Wert 0 zu. Wir könnten ihr beispielsweise nicht den Wert 1.3 zuweisen, weil es sich bei dieser Zahl nicht um eine Ganzzahl handelt. Für diesen Wert würden wir eine Variable vom Typ ‚float‘ oder ‚double‘ deklarieren müssen.

Wenn du mehr über Variablen in der Programmierung lernen willst, lies dir doch unseren Grundlagen-Beitrag über Variablen durch.

Weitere für den Anfang relevante Datentypen sind:
  • float, eine einfache Gleitkommazahl
  • double, eine Gleitkommazahl, welche doppelte Genauigkeit besitzt
  • bool, kann nur zwei Zustände annehmen: true und false
  • object, ist der Basistyp aller vorhandenen Typen
  • string, ist eine Zeichenkette, z.B. „Hallo“

Die Anweisung beenden wir nun mit einem Semikolon ‚;‘. Anweisungen müssen in C# immer mit einem Semikolon beendet werden. Wann ein Semikolon zu verwenden ist und wann nicht bekommt man mit der Zeit selber heraus. Falls ein Semikolon fehlt, bekommt man von Visual Studio einen Hinweis, um den Fehler zu beheben.

Nach unserer eignenen Anweisung folgt wieder vordefinierter Code. Dieser Abschnitt ist eine Funktion. Eine Funktion ist ein Codeblock, welcher in den geschweiften Klammern ‚{}‘ geschrieben ist. Durch den Aufruf einer Funktion bewirkt man das Ausführen des definierten Codeblocks.

Die volle Erklärung zu Funktionen in der Programmierung kannst du dir in unserem Grundlagen-Beitrag über Funktionen anschauen!

Nach der Funktion folgt unsere eigene Funktion. Den Inhalt der Klammern ‚()‘ lassen wir vorerst außenvor, da er für den Einstieg nicht relevant ist. Unsere erste Anweisung in unserer Funktion lautet „count++;“.

Damit bewirken wir, dass unser Integer „count“ bei jedem Aufruf der Funktion (d.h. bei jedem mal, wenn der Button gedrückt) wird um 1 erhöht wird. Nachdem unser Integer erhöht wurde, aktualisieren wir den Content unseres Labels, und geben den Wert unseres Integers ‚count‘ an.

Und das war auch schon dein erstes C# Programm!

Wir hoffen, dass wir dir die Entscheidung erleichtert haben die Programmiersprache C# zu erlernen und du vielleicht sogar etwas neues dazu gelernt hast. Wenn du noch Fragen oder Anregungen hast, würden wir uns freuen, von dir in den Kommentaren zu hören!