C#    hoch
  ähnliche Sprachen: C   C++   C-Talk   D   Cilk   Java   Objective-C   Pike   TOM  
  Beschreibung: C# (C sharp) ist Microsofts Antwort auf Suns Java. C# verbindet die Geschwindigkeit und Mächtigkeit von C++ und die hohe Produktivität von Visual Basic. Einziger Nachteil von C# ist die Plattformabhängigkeit, da es C# wohl nur für Windows geben wird. C# hat Garbage-Collection, jedoch ist es auch möglich in speziell deklarierten Blöcken Pointer-Arithmetik anzuwenden und somit selbst für die Speicherfreigabe verantwortlich zu sein. Alle Datentypen sind in C# Objekte, so kann man z.B. auf einen Integer eine Methode aufrufen. C# hat eingebaute COM-Funktionalitäten, so gibt es Getter/Setter-Methoden (Properties) und Events. Jedes C#-Objekt ist automatisch ein COM-Objekt, und somit lassen sich auch problemlos, in anderen Sprachen erstellte COM-Objekte, als C#-Objekte verwenden. Insgesamt eine für Windows-Entwickler sehr interessante Sprache, wobei gerade der Umstieg von C++ nicht schwer fallen wird! Sehr gefallen hat mir die Meta-Dokumentation. Jedem beliebigen Element (Klasse, Methode...) kann man eine Dokumentation hinzufügen, wobei die Art der Dokumentation selbst durch C#-Klassen festgelegt werden kann, und man zur Laufzeit auf die Dokumentation zugreifen kann.


 Hello World   Michael Neumann
// Hello World in C#

using System;
class HelloWorld {
   static void Main() {
      Console.WriteLine("Hello World");
   }
}
Gibt "Hello World" auf dem Bildschirm aus.


 Squares (1)   Michael Neumann
using System;
class Squares1 {
   static void Main() {
      for (int i=1; i<=10; i++) {
         Console.WriteLine("{0} ", i*i);
      }
   }
}
Gibt die Quadrate von 1 bis 10 aus.


 Squares (2)   Michael Neumann
using System;
class Squares2 {
   static void Main() {
      string res = "";
      int[] arr  = {1,2,3,4,5,6,7,8,9,10}; // short form for "new int[] = {1,2,...}"
      
      for (int i=0; i<arr.Length; i++) {
         res += (arr[i]*arr[i]).ToString() + " ";
      }
      Console.WriteLine("{0}", res);
   }
}
Gibt die Quadrate von 1 bis 10 aus.