C# Programmieren für Einsteiger - Adrian Rechsteiner - E-Book

C# Programmieren für Einsteiger E-Book

Adrian Rechsteiner

0,0
8,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Wie Sie als Einsteiger praxisnah und einfach C# programmieren lernen!
- inkl. kostenfreien Zugang zur PDF-E-Book Version -

Egal ob für Ihr Studium, Ihren Beruf, bessere Jobmöglichkeiten und Karrierechancen, oder Ihr Hobby: Mithilfe dieses Buches werden Sie auch ohne Vorkenntnisse alle wichtigen Programmiergrundlagen Schritt für Schritt erlernen und Ihr Wissen in C# vertiefen. Somit erschaffen Sie sich ein solides Fundament und sammeln erste wichtige Erfahrungen für die Praxis, um im Anschluss Ihre eigenen Programme, Anwendungen, Apps und Spiele mit C# programmieren zu können.

C# (bzw. C Sharp) ist eine objektorientierte, universelle und mit dem .NET-Framework ausgestattete Programmiersprache. Das .NET-Framework ermöglicht die Programmierung grafischer Oberflächen für Anwendungen und Spiele. Insgesamt entstammt C# der Familie der C-Sprachen und hat dementsprechend sehr große Ähnlichkeiten zu C und C++, wobei C# etwas einfach zum Erlernen ist. Durch das .NET-Framework hat C# ebenfalls Gemeinsamkeiten mit Java, was den Umstieg zwischen den beiden Sprachen sehr leicht gestalten lässt.

Von Datenstrukturen, mathematischen und logischen Operatoren über Kontrollstrukturen, bis hin zur objektorientierten Programmierung und grafischen Benutzeroberflächen erwartet Sie alles Notwendige in diesem Buch, damit Sie erfolgreich programmieren lernen und Ihre eigenen Anwendungen mit C# schreiben können!

Im Detail erwarten Sie folgende Inhalte:
-Schritt für Schritt Anleitungen, damit Sie direkt mit dem Programmieren starten können -alle Grundlagen, damit Sie auch ohne Vorerfahrung erfolgreich programmieren lernen -objektorientierte Programmierung, damit Sie Anwendungen mit C# schreiben können -grafische Benutzeroberflächen, damit Sie Ihre Anwendungen designtechnisch aufwerten -Übungen nach jedem Kapitel, damit Sie Ihr Wissen optimal für die Praxis vorbereiten können -zahlreiche Beispiele, Tipps und Tricks, damit Ihnen programmieren noch einfacher fällt

Ich freue mich darauf, mich mit Ihnen gemeinsam auf die spannende Reise in die Programmierwelt mit C# zu begeben und wünsche Ihnen viel Spaß und Erfolg beim Programmieren lernen!
Adrian Rechsteiner

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

C#

Programmieren für Einsteiger

Das fundierte und praxisrelevante Handbuch

Wie Sie als Anfänger Programmieren lernen und schnell zum C#-Experten werden

 

Bonus: Übungen inkl. Lösungen

 

 

 

 

1. Auflage 2021

Copyright © Adrian Rechsteiner

Alle Rechte vorbehalten.

 

 

A | S Verlag

Inhaltsverzeichnis

Kostenloses E-Book

1 Vorwort – Über das Programmieren mit C#

1.1 Programmieren als logischer Entwicklungsschritt der Menschheit

1.2 Die Einsatz- & Nutzungsbereiche von C#

1.3 Sprachen im Überblick

Gemeinsamkeiten

Unterschiede

.NET und C# - Ein erstes Fazit

2 Das Studio für Ihre Komposition

Einschub: Dateiendungen

2.1 Microsoft Visual Studio

2.2 Die Entwicklungsumgebung – Erste Schritte

3 Hello World – Das erste Programm

3.1 Debuggen starten

3.2 Projektdateien und Verzeichnisse

3.3 Die Syntax

3.4 Fehlerliste       // Codefehler

4 Elementare Strukturelemente

Kommentare       /*geben die Möglichkeit für Hinweise*/

4.1 Datentypen

Das Binärsystem

Die .NET Datentypen

Das Hexadezimalsystem

Suffix

4.2 Operatoren

Rechnungsoperatoren

Vergleichsoperatoren

Boolesche Operatoren

4.3 Variablen

4.4 Arrays

Eindimensional

Mehrdimensional

4.5 Strings

4.6 System.Console.Read & Write

Ausgabe – Methoden

Eingabe – Methoden

Exception Handling

4.7 Verzweigungen

if - Verzweigungen

Beispiel 1      // Überprüfen einer ganzen Zahl

Beispiel 2      // Passworteingabe

switch - Verzweigung

Übung 1      // Mögliche Nenner einer Zahl

4.8 Schleifen

for - Schleifen

Beispiel 3       // 7 Schleifendurchläufe

Übung 2       // Fakultät einer Zahl

continue, break, return      // Kontrollstrukturen

while - Schleifen

do - while - Schleifen

Übung 3       // Arrays und Schleifen

foreach – Schleifen

4.9 Funktionen / Methoden

Beispiel 4      // Verwendung von Methoden

Beispiel 5       // Übergabe mit Referenz

5 Objektorientiertes Programmieren

5.1 Klassen       // class

5.2 Objekte, Methoden, Felder

Felder

Methoden

Overloads

5.3 public & private

Namenskonventionen

5.4 Konstruktor

5.5 Eigenschaften       // get; set;

5.6 Vererbung

5.7 Listen       // List

5.7 Fortgeschrittene Projektstruktur

Übung 4      // Anlegen einer Bestellliste

Aufgabenstellung

Musterlösung

Bonus 1 – Fortgeschrittene Übung

Minesweeper

Aufgabenstellung

Musterlösung

Bonus 2 – Tipps und Tricks

Debugging Tools

Einfach den Überblick behalten

Buchempfehlung

Zugang zum kostenlosen E-Book

Kostenloses E-Book

Vielen Dank für den Kauf des Buchs!

Damit Sie sich die Inhalte noch leichter aneignen können, stelle ich Ihnen gerne kostenlos das Buch als E-Book im PDF-Format zur Verfügung. Den Link und QR-Code finden Sie am Ende des Buches im Kapitel „Zugang zum kostenlosen E-Book“.

Unter dem Link können Sie die PDF problemlos herunterladen.

Falls Sie Schwierigkeiten beim Download haben sollten, dann schicken Sie uns einfach kurz eine E-Mail an:

[email protected]

mit ihrer Kaufbestätigung / Rechnung / einem Foto von Ihrem Taschenbuch. Danach werden wir Ihnen das E-Book per E-Mail zusenden.

Ich wünsche Ihnen viel Erfolg bei Ihrem nächsten IT-Projekt!Adrian Rechsteiner

 

1 Vorwort – Über das Programmieren mit C#

Der Titel „C# Programmieren für Einsteiger“ sagt bereits zuallererst, dass dieses Buch für Personen geeignet sein soll, die sich erstmals mit dem Schreiben von Programmen auseinandersetzen möchten. „Einstieg“ heißt gleichzeitig, dass der Umgang mit einem Computer und das Bedienen von diversen Programmen für den Eigennutz bereits stattgefunden hat. Mit dieser Grundlage werden Sie an der Hand genommen und können vor allem das „Wie?“ im Kontext „Programme“ durchleuchten.

Davor sollten die wichtigen Begriffe, die stets im Umgang mit Computern und Programmen fallen, vorweggenommen und zumindest oberflächlich erläutert werden. Das, was den Programmen Leben einhaucht ist die

Hardware.       Der Personal Computer, kurz ‚PC‘, umfasst stets ähnliche Komponenten, die real und fassbar sind. Auf Grund dieser Eigenschaft sind sie unter dem genannten Begriff zusammengefasst worden. Dazu gehört z.B. der Hauptverantwortliche namens

Prozessor.      Die einzelnen Hardware Komponenten sind durchaus vergleichbar mit bestimmten biologischen Organen. Der Prozessor stellt gleichzeitig das Herz und das mathematische Gehirn dar, das mit einer bestimmten Frequenz den Aufgabenstapel abarbeitet.

Im Englischen hat er daher den Namen Central Processing Unit, kurz CPU, erhalten. Maßgeblich für die Rechenleistung ist nicht nur die maximale Taktfrequenz, sondern auch die Anzahl der Recheneinheiten, den sogenannten Kernen. Nicht jedes Programm unterstützt das Verwenden von mehreren Kernen, denn dieses Verhalten muss ganz bewusst im Quellcode eines Programms verankert werden. Die Sinnhaftigkeit der Kernanzahl ist auch dadurch begrenzt, dass es stets eine bestimmte Anzahl von Vorgängen gibt, die zeitgleich stattfinden können.

So wie beim Herz kann um Energie zu sparen und die Lebensdauer der Komponenten zu erhöhen die Frequenz gedrosselt werden, falls die Situation es zulässt. In enger Zusammenarbeit steht der Prozessor mit dem

Arbeitsspeicher.      Dieser ist das Kurzzeitgedächtnis des PCs. Er hat im Englischen den Namen Random - Access Memory, kurz RAM. Dessen großer Vorteil ist die hohe mögliche Kommunikationsgeschwindigkeit, nämlich die Geschwindigkeit der CPU.

Als Nachteil kann betrachtet werden, dass die gespeicherten Informationen verloren gehen, wenn der Stromfluss zu dieser Hardware - Komponente wegfällt. Beim Energiesparmodus eines Computers muss daher der Arbeitsspeicher angeschaltet bleiben, was allerdings ein sehr schnelles Wiederhochfahren ermöglicht, denn das Betriebssystem oder geöffnete Programme sind sozusagen bereits „im Arbeitsspeicher“.

Damit der Arbeitsspeicher überhaupt mit Informationen gefüllt werden kann, wird ein fester Speicher, also das Langzeitgedächtnis, benötigt. In der Regel ist das die

Festplatte.      Die Bauweise, die sehr lange den Markt eingenommen hat, ist die HDD (Hard Disk Drive) gewesen, welche nun meist von der deutlich schnelleren Solid State Disk (SSD) abgelöst wird. Wird keine schnelle Festplatte benötigt ist die nun günstigere HDD nach wie vor ein hervorragendes Mittel um viele Daten abzulegen. Zu den gespeicherten Inhalten gehört natürlich auch das

Betriebssystem,       welches nach dem Starten des Computers das erste aufgerufene interaktive Programm ist. Dabei ist die SSD ganz klar als Speichermedium zu empfehlen, da so das Hochfahren sehr schnell von statten gehen kann. Es hat eine Grafische Benutzeroberfläche, was auf Englisch ‚Graphical User Interface‘

(GUI)      heißt. Bekannt sind im Umgang mit PCs „Windows“, „MacOS“ und „Linux“. Solche und alle weiteren funktionellen Inhalte die auf Speichermedien abgelegt werden können, werden

Software      genannt.

 

1.1 Programmieren als logischer Entwicklungsschritt der Menschheit

‚Ja natürlich!‘ denken Sie sich jetzt. Gemeint ist in diesem Fall der Bezug zu programmierähnlichen Denkweisen, die der Mensch schon lange in solcher Art und Weise zu seinem Vorteil nutzt.

Ein hervorragendes Beispiel stellt die Dressur von Wölfen dar. Die Fähigkeit durch eine Kommunikation der nicht - eigenen Sprache das Gegenüber zur Kooperation zu bewegen ist ein Ausdruck fortgeschrittener Intelligenz. Es gibt in der Natur zwar oft eine Lebensgemeinschaft zwischen verschiedenen Arten, jedoch sind diese lediglich intuitiv. Das Zusammenleben von Menschen und Hunden hingegen, ist durch ein Actio- / Reactio - Verständnis des Dressierenden entstanden. Der Mensch weiß, dass das eigene Verhalten in verschiedenen Situationen ebenfalls verschieden ist. Dabei handelt es sich um einen logischen Zusammenhang, welcher in diesem Beispiel in erster Linie das Fressverhalten thematisiert. Der Wolf stellt als Feind eine große Gefahr dar. Zwar kann er überwältigt und in die Flucht geschlagen werden, jedoch hätte er als Freund sogar einen Nutzen. Dazu gehören die Verteidigung und Alarmierung der Gruppe oder die überlegene / nützliche Nase. Mit der Erkenntnis, dass Wölfe eine Begegnung an manchen Tagen meiden und an hungrigen Tagen ans Überleben zu denken scheinen, ist die Idee entstanden dem Wolf gelegentlich einen Knochen zuzuwerfen. Es ist dann nur eine Frage der Zeit gewesen, bis manche schlauen Wölfe ebenfalls den eigenen Vorteil darin erkannt haben, sich mit den Menschen zu verbünden. Die gezielte Züchtung bestimmter Rassen ist ein weiterer Schritt der Programmierung, da so bestimmte erwünschte Merkmale, wie Zutraulichkeit, verstärkt und isoliert werden können. Die Hunde können nun optimal ganz vielen Zwecken dienen, ob als Jagd-, Hüte- oder Gesellschaftshund. Für warmes, kaltes oder mildes Klima.

Dieses Beispiel, welches nur eines von vielen ist, zeigt: Auch Sie, sofern Sie noch kein Informatikprofi sind, verstehen also schon was es heißt zu Programmieren. Es ist etwas das sehr an die Gesetze der Logik gebunden ist. Es handelt sich um ein Prozessdenken, welches durch logische Zusammenhänge abgesichert werden kann. Allerdings ist dazu vorher die Erfindung des Computers, wie wir ihn kennen, notwendig.

Die Person, die an dieser Stelle genannt werden soll ist Alan Turing, welcher diesen flexiblen Rechner und dessen Fähigkeiten schon vor der tatsächlichen Erfindung vorhergesagt und entworfen hat. Dabei spricht er von der „universellen Turing - Maschine“, welche dank diverser Programme etliche Probleme lösen kann. Dies sei möglich, durch das Konzept von Hardware, Software und der Speicherprogrammierung. Seine Idee ist in den Jahren 1945 bis 1950 im „National Physical Laboratory“ in London Wirklichkeit geworden. Dort hat er den „Automatic Computing Engine“ („ACE“) gebaut, die reale Turing - Maschine. Darüber hinaus hat er die Frage, ob solche Maschinen eigenständig denken und tatsächliche Intelligenz besitzen können, formuliert und dafür den „Turing - Test“ entworfen. Dabei wird lediglich geprüft, ob ein Proband bei einer testweisen Chatprogrammunterhaltung in der Lage ist zu unterscheiden, ob der Gesprächspartner Computer oder Mensch sitzt. [1]

Nun im Jahr 2021, dem digitalen Zeitalter, ermöglicht uns die Fähigkeit des Programmierens und die Unterstützung des Computers komplett neue Lebensweisen. Digitalisierung heißt, dass Vorgänge auf Maschinencode übersetzt werden. Aus einer komplexen Anforderung werden unzählige Nullen und Einsen, welche jedoch von der elektronischen Hardware verstanden werden. ‚Unter Strom oder nicht unter Strom?‘, ist also die moderne Frage unserer Zeit.

Schon die ersten Computer haben enormen Komfort bereitet, das menschliche Gehirn ist in vielen Bereichen entlastet worden. In der Freizeit entstehen unzählige Möglichkeiten der digitalen Unterhaltung. Die Tatsache, dass alles nur eine Frage der Rechenleistung ist, beschleunigt den Fortschritt ungemein. Die Kooperation mit der Natur hat Grenzen, Digitalisierung womöglich nur durch die verfügbaren Ressourcen.

 

1.2 Die Einsatz- & Nutzungsbereiche von C#

C# ist eine universell einsetzbare Sprache. Es spielt also keine Rolle, ob sie für Spiele-, Web- oder App – Anwendungen verwendet wird. Allerdings wird C# von dem Unternehmen Microsoft entwickelt und wird daher primär beim Betriebssystem Windows eingesetzt. Die Implementierung in anderen Plattformen (Linux, MacOS, Android) wird dennoch weiter vorangetrieben. Auf Grund der Plattformunabhängigkeit ist die Sprache folglich, besonders aber in Kombination mit der Windowsumgebung, für diverse Anwendungen immer in der engeren Auswahl.

1.3 Sprachen im Überblick

Neben C# gibt es viele diverse andere Programmiersprachen. Nennenswert sind z.B.:

BASIC, C, C++, Java, Javascript, Python, Swift, Delphi.

Genauer sollen diese hier nicht betrachtet werden. Allgemein muss jedoch gesagt werden, dass die Gemeinsamkeiten bei der Programmierung eine stärkere Gewichtung haben als die Unterschiede, denn alle Programme werden letztendlich durch sehr ähnliche Hardware – Komponenten umgesetzt.

Gemeinsamkeiten

So haben Programmiersprachen z.B. einen Sprachkern und eine Standardbibliothek. Darin gibt es eine Auswahl an Funktionen, es ist auch die Rede von Methoden. Es werden Variablen benutzt, welche deklariert, verarbeitet und überprüft werden können. In der Komplexität können Programme dann z.B. durch Schleifen oder Entscheidungen erhöht werden. Sofern der Rechner das Programm ausführen soll, so muss es kompiliert, d.h. in Maschinensprache übersetzt werden. Dazu braucht jede Sprache einen eigenen Kompilierer (eng.: Compiler). Die Syntax selbst verwendet grundsätzlich englische Wörter. Es ist sehr vorteilhaft, wenn Englisch zu den persönlichen Sprachkompetenzen gehört.

Als Begleiterscheinung des Fortschritts wird Software stets weiterentwickelt. Das betrifft nicht nur Programme und Betriebssysteme, sondern auch die Sprache selbst. D.h. es entstehen neue Möglichkeiten Code zu formulieren und die Mechanismen, wie die Sprache in Zusammenhang mit dem Compiler funktioniert, werden den Anforderungen angepasst.

Unterschiede

Welche Programmiersprache letztendlich aber für die jeweilige Anwendung die richtige ist, lässt sich trotz allem besser an den Unterschieden festmachen.

Nicht alle Sprachen können das Gleiche. Es gibt Sprachen, welche geeignet oder nicht geeignet sind für z.B. objektorientierte Programmierung. Die Auswahl möglicher Methoden unterscheidet sich und auch die so genannte Syntax, d.h. mit welchen Schlüsselwörtern der Quellcode formuliert werden muss, ist andersartig. Zeichensetzung, Wortwahl, all das hat immer eine bestimmte Bedeutung. Außerdem wird unterschieden, ob eine Sprache maschinennah ist oder ob es eine unterstützende Laufzeitumgebung gibt.

.NET und C# - Ein erstes Fazit

Maschinennah bedeutet, dass die Programmsyntax direkten Einfluss auf die Hardware hat. Fehler können daher fatal sein und schlechte Programmierung wird sich in der Performance des Programms bemerkbar machen.

Anders als maschinennahe Sprachen (z.B. C oder C++) ist C# nur in Kombination mit dem .NET – SDK vollwertig und funktional. Ein SDK (Software Development Kit) gibt es auch bei anderen nicht – maschinennahen Programmiersprachen und heißt im deutschen sozusagen Softwareentwicklungsbaukasten. Im Fall von .NET gibt es derzeit .NET – Core, welches die SDK ist, die für alle Plattformen gleichermaßen verwendet werden kann.

Das Paket beinhaltet verschiedene Bestandteile, unter anderem auch einen Compiler, der die C# - Syntax in einen Zwischencode (Common Intermediate Language Code) übersetzt. Dieser wird dann zur Laufzeit des Programms in der virtuellen .NET – Laufzeitumgebung, welche Common Language Runtime heißt, verarbeitet.

Diese Architektur ist ein grundlegender Vorteil der .NET – Entwicklung. Unter anderem können so nämlich mehrere Sprachen (z.B. F#, VB, …) in einem Projekt verwendet werden, welche dann ebenfalls in Common Intermediate Language Code übersetzt werden. Die zentral agierende Laufzeitumgebung ermöglicht außerdem praktische Mechanismen wie z.B. die automatische Speicherverwaltung. Des Weiteren ist in dem .NET - SDK eine große Klassenbibliothek enthalten, welche das Programmieren mit weitreichenden objektorientierten Eigenschaften und Möglichkeiten ausstattet. Aktuell (2021) ist die Verwendung von C#9.0 mithilfe von .NET 5.0 möglich.

Im folgenden Inhalt sollen Sie lediglich die ersten und wichtigsten Schritte in einer Programmiersprache tätigen und mit den Grundlagen vertraut werden. Dazu ist C# ebenso gut wie eine der genannten Möglichkeiten und auf Grund der genannten Vorteile sogar eine hervorragende Einsteigerprogrammier-sprache. Sie können sich zunächst sehr darauf fokussieren wie Programmiercode funktioniert und müssen sich nicht übermäßig mit der dahinterliegenden Speichertheorie auseinandersetzten, da die Laufzeitumgebung für Sie ‚mitdenkt‘.

2 Das Studio für Ihre Komposition

Das Erstellen von Programmen kann komplex und fehleranfällig sein. Um in einem Projekt den Überblick zu behalten, ist es daher gang und gäbe sich helfen zu lassen.

Die Software die dazu genutzt werden kann nennt sich Entwicklungsumgebung oder Code Editor und ist vor allem dafür zuständig, dass die Syntax korrekt ist. Das heißt es findet eine Fehlererkennung statt, ähnlich wie die Rechtschreibhilfe in Text - Programmen. Auch eine angenehme Farbgebung und Hervorhebung von zusammenhängenden Elementen ist üblich. Des Weiteren werden alle Bestandteile des Programms übersichtlich in Projekten sortiert und Sie können sich ausschließlich auf das Programmieren konzentrieren. Sind Sie sich nicht sicher, ob ein Code so funktioniert wie beabsichtigt, so kann dieser mit einem Tastendruck testweise kompiliert und ausgeführt werden.

Wie im aktuellen Zeitalter gewohnt gibt es auf dem freien Markt eine diverse Auswahl von verschiedenen Code - Editoren oder Entwicklungsumgebungen, welche auch unter dem englischen Namen IDE (Integrated Development Environment) bekannt sind.

Einschub: Dateiendungen

Abbildung 1 – Windows Explorer - Optionen

Es besteht die Möglichkeit, dass die Dateiendungen bestimmter Dateitypen in der Ordnerstruktur des Windows - Explorer ausge-

blendet werden.

---ENDE DER LESEPROBE---