Special och metatyper

✨ Introduktion till specialtyper

Specialtyper ger flexibilitet och kraftfulla funktioner för avancerade programmeringsscenarier.

🎯 Specialtyper

var - Implicit typing

  • var - Låter kompilatorn bestämma typ
  • Typ bestäms vid kompileringstid
  • Variabeln måste initialiseras
  • Bibehåller strong typing

object - Universal bastyp

  • object - Bastyp för alla typer
  • Kan hålla vilken typ som helst
  • Kräver casting för användning
  • Boxing/unboxing för värdetyper

dynamic - Runtime typing

  • dynamic - Typ löses vid körtid
  • Hoppar över compile-time type checking
  • Används för COM interop, reflection
  • Prestanda-impact

Nullable types - Null-värden

  • int? - Value types som kan vara null
  • string? - Nullable reference types (C-Sharp 8+)
  • Null-safe operatorer: ?., ??
  • Hjälper undvika null reference exceptions

🚀 När använda vad?

var för:

  • Långa typnamn eller komplexa generics
  • LINQ-uttryck
  • När typen är uppenbar från kontexten

object för:

  • Legacy kod
  • Collections innan generics
  • Mycket sällan i modern C-Sharp

dynamic för:

  • COM interoperability
  • JSON deserialization utan modeller
  • Reflection-tunga scenarier

Nullable för:

  • Databas-värden som kan vara null
  • Optional parameters
  • Säker null-hantering

⚠️ Använd med försiktighet

Dessa typer kan göra kod mindre type-safe och svårare att förstå. Använd bara när det verkligen behövs.


Undersidor


    Upp

    Upp


    Licens: Apache 2.0 | © 2023 Marcus Medina, Campus Mölndal. Alla rättigheter förbehållna.
    Du får använda och modifiera detta verk enligt villkoren i Apache License, Version 2.0. Du får inte använda detta verk för kommersiella ändamål utan tillstånd från upphovsmannen.