Neu in .NET 10.0 [16]: Ăśbergabe von Parametern in File-based Apps

Die in .NET 10.0 eingeführten File-based Apps können auch Kommandozeilenparameter empfangen.

vorlesen Druckansicht
Schild mit Aufschrift "C#"

(Bild: Pincasso/Shutterstock)

Lesezeit: 1 Min.
Von
  • Dr. Holger Schwichtenberg
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Das direkte Übersetzen und Starten von C#-Dateien nennt Microsoft File-based Apps. Man kann ihr über die Kommandozeile zusätzliche Parameter mitgeben.

Der Dotnet-Doktor – Holger Schwichtenberg
Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Die Übergabe der Parameter ist sowohl in Verbindung mit class Program und der Main()-Methode möglich als auch bei der Verwendung von Top-Level-Statements, da der Compiler diesen ebenfalls die Variable args zur Verfügung stellt.

Folgendes Codebeispiel zeigt ein erweitertes Hello World mit Parametern:

using System; // nicht notwendig, Standardnamensräume sind immer dabei, da <ImplicitUsings>enable</ImplicitUsings> gesetzt ist

var conf = args.FirstOrDefault() ?? "diesem Vortrag";
Console.WriteLine(System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription);
Console.WriteLine($"Hallo liebe Teilnehmerinnen und Teilnehmer bei \e[4;33;5m{conf}\e[0m!");
Console.WriteLine($"Kompilierungsmodus: {(System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported ? "JIT" : "AOT")}");

Videos by heise

Aufruf der File-based App mit einem Parameter im Windows Terminal (Abb. 1)

(rme)