C# Snabbreferens
  • C# snabbreferens
  • Lathund: Skapa projekt
  • Lathund: koda i konsolen
  • Lathund: koda i WPF
  • Kompilering och publicering
  • Externa resurser
  • Grundläggande
    • Datatyper […]
      • String
      • Tuples
      • Enum
    • Fel
    • Typkonvertering
    • Operatorer
    • Boolska satser
    • Konsolen (Console)
    • If-satser
    • Loopar
    • Listor och arrayer
    • Slump (Random)
    • Strings
    • Metoder
    • Använda bibliotek (using)
    • Delegates, events och lambdas
    • Matematik (Math)
    • Vektorer (Numerics)
    • Datum och tid
    • Try-catch och Exception
    • Namngivning
    • Begrepp
    • Reference vs value types
    • Projektstruktur
    • Dotnet i terminalen
  • Filhantering
    • Filsökvägar
    • Läsa och skriva
    • Filer och mappar
    • Open, close, using
    • Serialisering […]
      • JSON-serialisering
      • XML-serialisering
    • Resursfiler
    • Filformat
      • JSON
  • Klasser och objektorientering
    • Översikt objektorientering
    • Lathund för klassdesign
    • Klasser och instanser
    • Struct
    • Public, private och protected
    • Klassdiagram
    • Klassmetoder
    • Konstruktorer
    • Arv
    • Komposition
    • Inkapsling och properties
    • Static
    • Polymorfism […]
      • Virtual, override
    • Generiska klasser
    • Abstract
    • Interface
    • Attribut
  • Annat
    • RayLib […]
      • Raylib setup
      • Fönster i Raylib
      • Grundläggande grafik
      • Geometriska former
      • Bilder och texturer
        • Texture
        • Image
      • Input
      • Text
      • Rectangle
      • Kollisioner
      • Kamera
      • Ljud
      • Raylib-CSharp*
    • MonoGame […]
      • Monogame-projekt*
      • MCGB Editor*
      • Input*
      • Grafik*
      • Kollisioner
      • Ljud*
    • Nätverk och internet […]
      • CRUD, HTTP och REST
      • URL:er och REST
      • RESTful client*
      • Thunder
      • RESTful server (Minimal API)
        • Swagger och OpenAPI
      • RESTful server (Web API) […]
        • Controllers
        • Models/dataklasser
        • Tester med RESTer
    • Linq
      • Linq-metoder
      • Linq-queries
    • Databaser
      • SQLite-kommandon
      • SQLite och VSCode
      • C# och SQLite
      • Entity Framework Core
    • Threading
      • Thread
      • Task
    • Pseudokod och diagram
    • Windows UI
      • WPF
      • XAML*
      • WinUI*
  • Mjukvara
    • Dotnet SDK
    • Visual Studio Code […]
      • Extensions
      • Inställningar
      • Debugging
      • Snabbkommandon
      • Snippets
      • Felsökning
    • Git & GitHub […]
      • Git-begrepp
    • Andra verktyg
  • Tekniker
    • Begränsa input
    • Game states
    • Gå igenom en array (eller lista)
    • Länkade listor och andra strukturer
    • Ta bort saker ur listan man går igenom
    • 2D-spelbräden
    • Timers
  • CONTRIBUTING
Powered by GitBook
On this page
  • Syntaxfel
  • Runtime-fel (exceptions)
  • Logiska fel

Was this helpful?

  1. Grundläggande

Fel

PreviousEnumNextTypkonvertering

Last updated 2 years ago

Was this helpful?

Syntaxfel

Ett syntaxfel är ett fel i själva grammatiken i koden; ett ganska lättfångat fel där man helt enkelt skrivit något ogiltigt. Syntaxfel signaleras i Visual Studio Code genom att strykas under med röda vågiga streck, s.k, "sqiggley lines". Man kan också få fram en lista med alla syntaxfel genom att gå till Problems-panelen (View → Problems).

Runtime-fel (exceptions)

Ett runtime-fel är ett fel som uppstår när programmet körs. Koden som orsakar felet är syntaxmässigt korrekt, men den operation som koden beskriver går inte att utföra. Det kan till exempel vara att man försöker komma åt en position i en array som inte finns.

int[] numbers = {3, 4, 12, 66};
Console.WriteLine(numbers[8]); // Det finns ingen åttonde int i arrayen

När ett runtime-fel uppstår så skapas ett Exception. Detta kan fångas upp av en .

Logiska fel

Logiska fel är de svåraste att hitta – de hittas inte av Visual Studio (inga röda sqiggley lines), de orsakar inga felmeddelanden. De är helt enkelt resultatet av ett feltänk hos programmeraren – som leder till oönskat beteende.

// Eftersom || används istället för && så räcker det med att ha rätt
//  användarnamn ELLER rätt lösenord.

if (username == "micke || password == "12345")
{
  loggedIn = true;
}
try-catch