Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 1.76 KB

c#12InANutshell.md

File metadata and controls

94 lines (68 loc) · 1.76 KB

C# 12 In A Nutshell

Introducing C# & .net

Object orientation

  • unified type system
  • interfaces

Type safety

  • static typing (type safety at compile time)

Memory management

  • garbage collector
  • unsafe block

CRLs, BCLs & runtimes

  • JIT, AOT & interpretation
  • managed code
  • intermediate language
  • common language runtimes
  • reflection
  • base class libraries

C# language basics

A first C# program

  • type organization
  • nested namespaces
  • namespace usage & using keyword
  • statement blocks

Compilation

  • assemblies
  • entrypoints

Syntax

  • identifiers & their conventions
  • keywords & their usage as identifiers
  • contextual keywords

Type basics

  • types
  • variables & constants
  • predefined types
  • data & function members
  • constructors & instantiation
  • instance & static members
  • static classes
  • the main method & top level statements
  • conversion
  • implicit conversion & explicit casting
  • value & reference types, assignment operation behaviour for each & nullabality
  • primitive types

Numeric types

  • inference of numerical literal types
  • increment & decrement operators
  • checked & unchecked keywords
  • compile time overflow checking
  • arithmetics of 8- & 16-bit integral types
  • NaN values & checking for them

Boolean types & operators

  • default notion of equality for reference types
  • short-circuit evaluation of conditional operators
  • the ternary operator

String & characters

  • escape sequences
  • unicode characters as in literal form
  • string comparison
  • verbatin strings
  • raw string literals
  • interpolated strings

Arrays

  • definition of array data type
  • array initialization expression
  • preinitialization of elements
  • value vs reference elements
  • indices & the index type
  • ranges & the range type