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
  • $ – interpolated strings
  • ToLower()
  • Length
  • \ – specialtecken
  • """ – raw literal strings
  • @ – literal strings
  • All()

Was this helpful?

  1. Grundläggande
  2. Datatyper […]

String

PreviousDatatyper […]NextTuples

Last updated 8 months ago

Was this helpful?

En string är en text – en serie tecken efter varandra.

string s = "Hello";

$ – interpolated strings

Om man skriver $ framför en string, så kan man sedan stoppa in variabler och metodanrop och annat inuti måsvingar i stringen. Det som står innanför måsvingarna utvärderas och blir en del av stringen.

int hp = 100;
string s = $"Du har {hp} hit points kvar";

Om man har ett decimaltal ( eller ) så kan man skriva : och sedan ett format med t.ex. antal decimaler.

float c = 23;
float f = 32 + (c * 1.8f);
Console.WriteLine($"Fahrenheit: {f:00.00}");

ToLower()

En metod som är inbyggd i alla strings, och ger en kopia av stringen där alla stora bokstäver bytts ut mot små.

string name = "Micke";
string nameSmall = name.ToLower(); // värdet i nameSmall blir "micke".

Detta är praktiskt när man t.ex. vill göra jämförelser och det inte ska spela någon roll ifall användaren skriver med stor bokstav.

Length

Length är en egenskap alla strings har. Det är en int som innehåller det antal tecken stringen har.

Console.WriteLine($"Texten {s} har {s.Length} tecken");

\ – specialtecken

Om man skriver \ i en string så kommer tecknet efter att tolkas som ett specialtecken. Det vanligaste är \n, som är en newline (ny rad).

Console.WriteLine("Detta är första raden.\nDetta är andra raden.");

""" – raw literal strings

Väldigt praktiskt för ASCII-art och andra strings som har flera rader.

Om man använder tre citattecken före och efter en string:

  • Alla tecken inklusive " och \ tolkas som vanliga tecken snarare än kommandon.

  • Framför allt den avslutande """ måste vara på en egen ny rad

  • Ingen rad i stringen får börja längre åt vänster än den avslutande """.

  • Indraget för sista """ anger var alla raderna anses "börja", så även om hela stringen har ett indrag på 8 mellanslag så kommer den skrivas ut med 2 mellanslags indrag om den avslutande """ är indragen 6 mellanslag.

  • Man kan fortfarande använda $ och {} för att infoga variabler.

Console.WriteLine("""
          _  .   .   .
        .' '; '-' '-'|-.
      (     '------.'  )
        ;            \ /
        :     '   ' |/
        '._._       \    .;
        .-'   ;--.    '--' /
      /      \-'---.___.'
      |     / 7 \(>o<) /\
      |     | \ |  . \   \
      |=====|   |  .  \ |-)
      |-'-'   ./_.-._.\|"
      '-.----'        |
        |       |     |
        |     | |   | |
        |_____|_|___|_|
        (-------',----'.
          '-'-----'-----'         
    """);

@ – literal strings

Om man skriver @ framför en string, så kommer varje tecken i denna string sedan att tolkas väldigt bokstavligt. Framför allt används detta när man inte vill att \ ska tolkas, utan bara skrivas ut som just \. Det är praktiskt när man ska göra sökvägar i Windows.

Console.WriteLine(@"Detta är första raden.\nDetta är också första rader.");

All()

using System.Linq;

string s1 = "12345";
string s2 = "123a45;

bool b1 = s1.All(char.IsDigit); // b1 = true
bool b2 = s2.All(char.IsDigit); // b2 = false

All() är en del av Linq-biblioteket så man måste först ha med using System.Linq. All har en som parameter, och förväntar sig då en metod (eller ett lambda-uttryck) som tar emot en char och returnerar true eller false. All stoppar sedan i var och ett av stringens tecken in i den angivna metoden. Om resultatet för alla blir true så returnerar All också true.

delegate
float
double