Send til redaktion@dotnyt.dk hvis du har feedback, gode idéer, konstruktiv kritik eller svinere. Alt har interesse!
Omkring årsskiftet udkom .NET 6 og C# 10 og jeg vil her dele nogle af højdepunkterne i de nye versioner. Og nu er det her jo et podcast så jeg går selvfølgelig ikke i detaljer og går heller ikke helt i dybden, men I kan finde mere information og links på dotnyt.dk.
Som jeg fortalte for et par uger siden, da vi sagde farvel til .NET 5, så er det helt store tema i .NET 6 at det er blevet hurtigere. Men der er mange flere nævneværdige forbedringer.
En af dem er FileStream som er blevet forbedret markant så den er op til 10 gange mere effektiv. Det er den klasse man bruger til at arbejde med filer på disken. Det er ikke så tit man har brug for det hvis man laver produkter til skyen for en disk er ikke særligt skalerbar, men forbedringen er så markant at jeg alligevel synes det skulle med i dag.
Der er også en række forbedringer til System.Text.Json som så endeligt lægger den gode gamle Newtonsoft i graven. Den har jo ellers har været inkluderet som standard i .NET i mange år, men det er så ved at være slut nu.
Der er en masse forbedringer til LINQ og her mener jeg LINK med Q. Det er nogle småting men en sød ting er at man kan give en range når man bruge Take, så slipper man for Skip når man laver paging. Det er fint nok, men ikke særligt vigtigt.
En anden sød ting er at man nu har DateOnly og TimeOnly i supplement til gode gamle DateTime. Det er godt for man kan godt sige det er en form for misbrug i den lette ende, at have et DateTime-objekt og så bruger man kun dato-delen.
C# 10 har også nogle fine forbedringer.
Den forbedringer jeg er mest imponeret af er nok at man kan lave globale using statements. Det svarer til at inkludere et using statement i alle filer i dit projekt og det kan spare rigtig mange unødvendige using-statements rundt omkring i dine filer og måske også være med til at fremhæve de using-statements som faktisk er specielle for de enkelte klasser.
Det er en god forbedring og den er nem at bruge. Du skriver bare global using i stedet for using. Man kan sætte sine globale using-statements i en hvilken som helst fil, men Microsoft foreslår tilsyneladende du placerer dem i din Program-fil.
Der er andre småforbedringer i C# 10 men ærligt talt er der ikke noget af de øvrige ting jeg vil bruge. Der er lidt om nested namespaces, nested property references og efter min mening er man alligevel ude på et skråplan hvis man har brug for de ting.
Der er også kommet en forbedring til record som man nu kan deklarere som en klasse. Og records er en rigtig smart feature fra C# 9. Det er en nem måde at deklarere en klasse på i én linje og jeg tror det kan have den virkning at udviklere i højere grad bruger en klasse som tydeligt viser hvad de repræsenterer i stedet for diverse generiske lister osv.
Microsoft nævner selv at f.eks. den nye hashtag line pragma feature nok ikke er noget udviklere vil bruge, men det er noget de har lavet i princippet til intern brug til at gøre debugging nemmere i Razer.
Det var det hele for i dag. I bund og grund intet banebrydende, men jeg glæder mig til at bruge global using.