Konsolapplikationer
I materialet bruges konsolapplikationer til at afprøve kode, og lidt forvirrende er der to forskellige versioner: med top-level statements (script version) og uden top-level statements (traditionel version).
Information til undervisere
Det er vigtigt at kursisten prøver selv - få dem til at kode!!
Konsolapplikation uden Top-Level Statements
Traditionelt har en konsolapplikation i C# en Main
metode i en klasse. Her er et eksempel på en simpel konsolapplikation uden top-level statements:
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Konsolapplikation med Top-Level Statements
C# 9 introducerede top-level statements, som forenkler koden ved at fjerne behovet for en Main
metode og en indkapslende klasse. Her er et eksempel på en konsolapplikation med top-level statements:
Denne version er god til helt små projekter hvor namespace med videre ikke er så vigtigt.
Avanceret: Asynkron Konsolapplikation - ikke vigtigt for begyndere
I mere avanceret kode skabe asynkrone applikationer og her bruges en anden skabelon hvor Main
metoden skal have returtypen Task
. Her er et eksempel på en asynkron konsolapplikation uden top-level statements:
using System;
using System.Threading.Tasks;
namespace ConsoleApp
{
class Program
{
static async Task Main(string[] args)
{
await Console.Out.WriteLineAsync("Hello World!");
}
}
}
Og her er et eksempel på en asynkron konsolapplikation med top-level statements:
Visual Studio Code
I Visual Studio Code kan du vælge mellem de to versioner ved at skabe et projekt i terminalen.
Følgende skaber den “simple” version:
og følgende skaber den “traditionelle” version:
Visual Studio
I Visual Studio kan du vælge mellem de to versioner ved at skabe et projekt af typen Console application, angive navn med videre, og så angive hvilken version du ønsker i checkboksen “Do not use Top-Level Statements”:
- Hvis der ikke sættes kryds skabes en traditionel konsol applikation uden top-level statements.
- Hvis der sættes kryds skabes en script baseres konsol applikation med top-level statements.
Info
Så snart du er lidt øvet så brug konsol applikationer uden top-level statements (den traditionelle form med en klasse Program og en statisk Main-metode).