[C#] Erste Schritte

09/27/2011 16:17 xXSaiuXx#1
Vorwort:

Von nun an habt ihr die Möglichkeit euren Wissenshorizont zu erweitern.
Ich werde , auf Wunsch einiger User, euch C# ein wenig näher bringen, sodass ihr zumindest ein solides Grundwissen aufbauen könnt.
Die nachfolgenden TuT's bauen aufeinander auf und sind deshalb am besten nacheinander zu lesen.

Fortgeschrittene Programmierer können jedoch weiter vorran stoßen und sich bereits mit schwereren Themen befassen.

So aber nun genug geredet.
Es kann losgehen...



Das braucht man:
Ladet euch am besten Visual C# 2008/2010 Express Edition bei Mircosoft herunter. Damit habe ich immer und werde ich immer noch programmieren.

Visual C# bietet diverseste Möglichkeiten und eignet sich daher perfekt.




Historisches:
Die Programmiersprache C# wurde Ende der 90er Jahre von Anders Hejlsberg und seinem Microsoft Team im Rahmen der .NET Plattform entwickelt. Unter .NET versteht man eine Middleware-Plattform, deren zentraler Bestandteil das sogenannte .NET Framework ist.
Portierungen von .NET auf unixoide Systeme wie beispielsweise Linux oder Mac OS X bietet das Open-Source-Projekt Mono.



Eigenschaften von C#:
C# ist eine Weiterentwicklung von C und C++. Der Name C# ist der Musik entlehnt, wo ja C# (=cis) der um einen Halbton erhöhte Grundton von C ist.
C# ist im Vergleich zu C und C++ eine rein objektorietierte Programmiersprache.

Folgendes lässt sich mit C# anstellen:
  1. strenge Typüberprüfungen, Bereichsüberprüfung bei Vektoren und automatische Speicherverwaltung
  2. die Entwicklung von Anwendungen für verschiedenste Systeme, vom leistungsstarken Host-basierten System über Handy's und PDAs bis hinzu dem sogenannten Embedded System mit eingeschränkter Funktionalität
  3. die Entwicklung von erweiterbaren, Binärcode-kompatiblen Software-Komponenten zum Einsatz in verteilten Systemen

Aus all den oben aufgeführten Punkten kann man eines erkennen:
C# ist eine sehr mächtige und sichere Programmiersprache, die trotz so vieler Funktionalitäten einfach zu handhaben ist.


Ein erstes C#-Programm:
Öffnet Visual C# und geht auf Datei->Neues Projekt->Konsolenanwendung.
Jetzt sollte ein Editor mit Code erscheinen.
Löscht den bereits vorhandenen Code und ersetzt ihn durch den unteren.

Code:
using System;

class Program
{
   static int Main()
   {
      Console.WriteLine("Unser erstes C#-Programm!");
      Console.ReadLine();
      return 0;
   }
}
Jetzt müsst ihr nur noch F5 drücken und das Programm wird debuggt und gestartet.

Zum Quelltext:
Anhand des zu erkennenden Quelltexts lässt sich bereits die Grundstruktur eines C#-Programms erkennen. Das Programm enthält nur eine Klasse Program mit der Method Main() und gibt einen Text auf dem Bildschirm aus.

Die using-Direktive in der ersten Zeile using System; ermöglicht es, Namen aus dem Namensbereich System direkt zu verwenden. Im Namensbereich System sind alle Namen der CLI-Klassenbibliothek, zu der auch die Klasse Console für Ein-/Aushabe gehört,definiert.


Klassen stellen den leistungsstärksten Datentyp in C# dar. Klassen definieren Daten und das Verhalten eines Datentyps. Mit Hilfe einer Klasse ist es also möglich Objekte zu erstellen, die Instanzen dieser Klasse sind.Im Gegensatz zu Strukturen unterstützen Klassen Vererbung, einen wesentlichen Aspekt der objektorientierten Programmierung.
Code:
public class Program
{
    .... // Hier kann beispielsweise der Code für ein Objekt der Klasse Program stehen.
    .... // Dieses Objekt ist dann eine Instanz der Klasse Program.
}

Die Klasse Program besitzt eine statische Methode Main(). Diese Methode muss in jedem C#-Programm vorhanden sein, denn die Programmausführung beginnt mit der ersten Anweisung Main().
Das Schlüsselwort, hier static , bedeutet dass die Methode direkt an die Klasse Program gebunden und über sie aufgerufen wird.

In unserem 1. Programm enthält die Methode Main() drei Anweisungen. In der ersten Anweisung

Code:
Console.WriteLine("Unser erstes C#-Programm!");
wird die Methode WriteLine() der Klasse Console aufgerufen, die den Text
Unser erstes C#-Programm! auf dem Bildschirm ausgibt.

Die zweite Anweisung

Code:
Console.ReadLine();
ruft die Method ReadLine() der Klasse Console auf und sorgt dafür, dass sich das Programm nicht sofort wieder schließt.

Die dritte und letze Anweisung

Code:
return 0;
beendet die Method Main() und so auch das Programm. Dabei wird der Wert 0 als sogenannter Status-Code an die Laufzeitumgebung zurückgegeben.
Der Status-Code 0 wird üblicherweise verwendet, wenn das Programm korrekt abgelaufen ist.

Jede Anweisung endet mit einem Simikolon ;. Daher ist die kürzeste Anweisung ein ; und bewirkt nichts.

Schlusswort:
Das war das erste TuT zur Programmiersprache C#.
Ihr habt den Aufbau eines Programms und dessen Struktur kennengelernt, sowie erste Befehle kennegelernt und euch ein historisches Wissen angeeignet.

Bis zum nächsten Mal,

see you later

xXSaiuXx :bandit: :awesome:
09/27/2011 16:24 oTrojaner#2
Nice work. :-) mach weiter so !
09/27/2011 16:36 subsauber#3
Das hat mir echt weitergeholfen.
Du hast ja wirklich alles erklärt.

Danke!

PS: Ich freue mich schon auf deine weiteren TuT's
09/27/2011 17:07 Schlachtente#4
Gut aufgebaut und gut erklärt!
#Thanks given
09/27/2011 17:10 NotEnoughForYou#5
Ist C# eine Weiterentwicklung von C++ ? Dachte immer das wäre nur die Konkurenzsprache von Microsoft. Wäre noch gut die class Programm zu erklären.
09/27/2011 17:25 Syc#6
Habs kurz überflogen sieht ganz gut aus, werde es mir später mal genauer ansehen :)


Quote:
Originally Posted by NotEnoughForYou View Post
Ist C# eine Weiterentwicklung von C++ ? Dachte immer das wäre nur die Konkurenzsprache von Microsoft. Wäre noch gut die class Programm zu erklären.
Soweit ich weiß, ist C# ist eine Mischung aus mehreren Sprachen (VB, C++, etc.)
09/27/2011 18:20 Volltboon#7
danke <3

ich finds nett das du auf anfrage tut machst (;
09/27/2011 18:52 xXSaiuXx#8
Quote:
Originally Posted by NotEnoughForYou View Post
Ist C# eine Weiterentwicklung von C++ ? Dachte immer das wäre nur die Konkurenzsprache von Microsoft. Wäre noch gut die class Programm zu erklären.
Man kann es so oder so sehen...
Einige sehen C# als die Weiterentwicklung von C++ an, andere sagen es ist eine Konkurenzsprache. :)

Da kann man sich jetzt drüber streiten.
C# weist in gewisser Hinsicht auch Parallelen zu Java auf.

@NotEnoughForYou: Die class Program wird nun erklärt. :)
09/30/2011 21:08 MrSm!th#9
Quote:
Originally Posted by xXSaiuXx View Post
Man kann es so oder so sehen...
Einige sehen C# als die Weiterentwicklung von C++ an, andere sagen es ist eine Konkurenzsprache. :)

Da kann man sich jetzt drüber streiten.
C# weist in gewisser Hinsicht auch Parallelen zu Java auf.

@NotEnoughForYou: Die class Program wird nun erklärt. :)
Da kann man sich nicht streiten, es sind völlig verschiedene Sprachen.

C++ ist eine native teilweise objektorientierte, teilweise generische und teilweise prozedurale Programmiersprache.
C# ist eine .NET Sprache, also nicht nativ, und komplett objektorientiert, dessen Syntax an die von C++ angelehnt ist.
Wenn man das überhaupt als Konkurrenz bezeichnen kann, sind alle Programmiersprachen Konkurrenten. Und es ist sicher keine Mischung als C++ und VB und auch keine Weiterentwicklung.

#closed