Die-Spengergasse / SchUeLF-CSharp-LanguageBasics

Basic Language Features of C# compared with Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SchÜLF C# Sprachfeatures

Basic Sprachfeatures, Keywords, Naming und Conventions von C#, gegebenenfalls auch im vergleich zu Java...

Potenziele Themen (Brainstorming)

Strukturierung

  • Coding Convetions
  • Operatoren + deren Priorität
  • Scopes (Blöcke und Gültigkeiten, vermutlich ident zu Java)
  • Namespaces (vs. Packages, using..., möglicher Inhalt von File, Namespace)
  • Sichtbarkeit (private, public, protected, file, internal)
  • Projektaufbau (Empfehlungen ...)
  • Keywords
    • is/as
    • switch-Statement + fall through
    • goto (Das gibts wirklich)
    • ref-Parameters (ref, ref readonly, out (CallByValue/CallByReference))
      • Boxing / Unboxing
    • sealed Classes (final in Java)
    • implicit/explicit
    • delegate
    • params
    • typeof
    • nameof
    • base (siehe Vererbung)
    • lock

Datentypen

  • Wertetypen/Referenztypen
  • Properties
  • Overflow Checks
  • Events
  • Arrays
  • Partial Types
  • Delegates
  • Überladene Operatoren (z.B.: == mit neuer Fumktion belegen)
  • Überladene (user defined) Type Casts (implizit/explizit)
  • Initializer
  • Alias Any Type

Basics

  • Some string-Specials
  • using-Block + IDisposable
  • Formating (Numbers, Dates, Times, ...)
  • Destructor
  • Vererbung (virtual-Keyword, ...)
  • Collections (Übersicht, foreach-Keyword)
  • Collection-Expressions
  • Spread-Operator ( [..])
  • Indexer
  • Lambda-Expressions (Default Lambda Parameters)
  • Anonymous Types
  • LinQ
  • Return Tuples

Weitere Themen

  • Extension Methods
  • Read from Command Line
  • Nullable-Feature (.?, ??, ...)
  • Exception Handling (im wesentlichen wie Java + kleine Unterschiede (no must catch, not in M-Signature, ...))
  • Compiling und was dabei passiert
  • Attribute (vs. Data Annotations in Java)
  • Action Filter (ASP)
  • Top-Level Statements
  • Top-Level Constructors
  • records
  • Experimental Attribute
  • Interceptors

About

Basic Language Features of C# compared with Java