1.1 Wichtigste Begriffe im Kontext von .NET

  • CLS Common Language Specification
    • Subset des CTS welches alle .Net Sprachen unterstützen
  • CTS Common Type System
    • Datentypen
    • Programmierkonstrukte
    • Beschreibt, wie dies miteinander interagieren
  • CLR Common Language Runtime
    • Loaklisiert .NET Objekte
    • Lädt .NET Objekte,
    • Verwaltet .NET Objekte
  • Base Class Libraries
    • Kpselt verschiedene Primitive (Threading, Security, GUI, etc.)
  • .NET Standard
    • Schnittstellendefinition die von sämtlichen .NET Plattformen implementiert werden mpssen
    • Dient der Unterstützung von Schrittweisen Migration nach .NET Core

1.2 Wichtige Unterschiede Java / C#

  • Ganzzahlige Typen
  • Dezimalzahlen mit grosser Präzision
  • Benutzerdefinierte Datentypen
    – Enumaration, sind implizit vom Typ Enum abgeleitet
    – Strukturen
    — Gibt es in Java nicht
    — Erlaubt die Erzeugung von Komplexen Datentypen
  • Nullable Types (v.a. Datenbankabfragen)
    – C# erfordert explizite Initialisierung, Initialisierung mit NULL nicht möglich
    Lösung: Nachgestelltes Fragezeichen bei der Typdeklarataion z.b. int?
    – Null-Abfrage erforderlich um Variable einer anderen Variable zuzuweisen
int? x = null;
int y;
if(x.HasValue)
  y = (int) x;
else
   y = 0;
   
// Einfacher mit ??
int? x = null;
int y = x ?? 0; 
  • Typinferenz
    – Automatische Ermittelung des Datentyps durch den Compiler
var a = 35;
var text = "Hallo Welt";
  • Kontrollstrukturen
    – Grundsätzlich gleiche Möglichkeiten in beiden Sprachen
    – Aber if/then/else
if (zahl == 5)
    zahl2 = 10;
else
    zahl2 = 15;
    
// Kurzform
zahl2 = (zahl == 5) ? 10 : 15;

Code Snipptets

  • Vorgefertigte Code-Strukturen
  • Eingabe
    • V1. Eintippen und auswählen resp. per Tab bestätigen
    • V2. Ctrl-K-X und dann zum entsprechenden Snippet navigieren und auswählen
  • Eigene Snippets: C:\Users \<User>\ Documents \Visual Studio 201x\ Snippets

Coding Guidelines

  • Props
    Modifizierer Datentyp Eigenschaftsname { get ; set; }
    Modifizierer Datentyp Eigenschaftsname { get => privatesFeld ; set => privatesFeld = value;}
  • Access Modifiers

Zuletzt bearbeitet: 8. November 2022

Autor

Kommentare

Schreibe eine Antwort oder einen Kommentar

Deine EMail-Adresse wird nicht veröffentlicht.