Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Počínaje technologie .NET 6 vygeneruje šablona projektu pro nové konzolové aplikace jazyka C# následující kód v souboru Program.cs:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Pro technologie .NET 5 a starších verzí vygeneruje šablona konzolové aplikace následující kód:
using System;
namespace MyApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
V předchozím kódu závisí konkrétní obor názvů na názvu projektu.
Tyto dvě formy představují stejný program. Oba jsou platné v jazyce C#. Pokud používáte novější verzi, stačí napsat pouze text metody . Kompilátor vygeneruje třídu s metodou vstupního bodu a umístí do této metody všechny příkazy nejvyšší úrovně. Název vygenerované metody není uveden — je to podrobnost implementace, na kterou váš kód nemůže přímo odkazovat. Není nutné zahrnout ostatní prvky programu; kompilátor je vygeneruje za vás. Další informace o kódu, který kompilátor generuje při použití příkazů nejvyšší úrovně , naleznete v části Základy průvodce jazykem C#.
Při práci s kurzy, které nejsou aktualizované tak, aby používaly technologie .NET šablony 6 nebo novější, použijte jednu z těchto dvou možností:
- Při přidávání funkcí použijte nový styl programu a přidejte nové příkazy nejvyšší úrovně.
- Převeďte nový styl programu na starší styl s třídou a metodou .
Pokud chcete použít staré šablony, přečtěte si téma Použití starého stylu programu dále v tomto článku.
Použití nového stylu programu
Funkce, které usnadňují nový program, jsou příkazy nejvyšší úrovně, globální direktivy a implicitní direktivy.
Termín příkazy nejvyšší úrovně znamená, že kompilátor generuje elementy třídy a metody pro váš hlavní program. Kompilátor deklaruje vygenerovanou třídu a metodu vstupního bodu v globálním oboru názvů. Podívejte se na kód nové aplikace a představte si, že obsahuje příkazy uvnitř metody generované dřívějšími šablonami, ale v globálním oboru názvů.
Přidejte do programu další příkazy, stejně jako přidáváte příkazy do své metody v tradičním stylu. Access (argumenty příkazového řádku) použijte, a nastavte ukončovací kód. Můžete dokonce přidávat funkce. Kompilátor je vytvoří jako místní funkce vnořené uvnitř vygenerované metody vstupního bodu. Místní funkce nemohou obsahovat žádné modifikátory přístupu (například nebo ).
Příkazy nejvyšší úrovně i implicitní direktivy zjednodušují kód, který tvoří vaši aplikaci. Pokud chcete postupovat podle existujícího kurzu, přidejte do souboru Program.cs vygenerovaného šablonou všechny nové příkazy. Představte si, že příkazy, které napíšete, jsou mezi otevřenými a uzavíracími složenými závorkami v metodě v pokynech tutoriálu.
Pokud dáváte přednost staršímu formátu, zkopírujte kód z druhého příkladu v tomto článku a pokračujte v kurzu stejně jako předtím.
Další informace o příkazech nejvyšší úrovně najdete v kurzu zkoumání příkazů nejvyšší úrovně.
Implicitní direktivy
Termín implicitní direktivy znamená, že kompilátor automaticky přidá sadu direktiv na základě typu projektu. Pro konzolové aplikace jsou do aplikace implicitně zahrnuty následující direktivy:
using System;using System.IO;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.Threading;using System.Threading.Tasks;
Mezi další typy aplikací patří různé obory názvů, které jsou pro tyto typy aplikací běžné.
Pokud potřebujete direktivy, které nejsou implicitně zahrnuty, přidejte je do souboru .cs , který obsahuje příkazy nejvyšší úrovně nebo do jiných souborů .cs . Pro direktivy , které potřebujete ve všech .cs souborech v aplikaci, použijte globální direktivy .
Zákaz implicitních direktiv
Chcete-li toto chování odebrat a ručně řídit všechny obory názvů v projektu, přidejte do souboru projektu v elementu , jak je znázorněno v následujícím příkladu:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
</Project>
Globální direktivy
globální direktiva importuje obor názvů pro celou aplikaci místo jednoho souboru. Přidejte tyto globální direktivy zahrnutím položky do souboru projektu nebo přidáním direktivy do souboru kódu.
Pokud chcete odebrat konkrétní implicitní direktivu, přidejte do souboru projektu položku s atributem. Pokud je například funkce implicitních direktiv zapnutá pomocí , přidání následující položky odebere obor názvů z těch, které jsou implicitně importovány:
<ItemGroup>
<Using Remove="System.Net.Http" />
</ItemGroup>
Použití starého stylu programu
Počínaje technologie .NET SDK 6.0.300 má šablona console volbu --use-program-main. Slouží k vytvoření projektu konzoly, který nepoužívá příkazy nejvyšší úrovně a má metodu.
dotnet new console --use-program-main
Vygenerovaný je následující:
namespace MyProject;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
Použití starého stylu programu v Visual Studio
Když vytvoříte nový projekt, kroky nastavení vás přesměrují na stránku nastavení Další informace. Na této stránce zaškrtněte políčko Nepoužívejte příkazy nejvyšší úrovně.
Po vytvoření projektu bude obsah následující:
namespace MyProject; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }
Poznámka
Visual Studio zachová hodnotu možnosti při příštím vytvoření projektu na základě stejné šablony. Pokud jste naposledy vytvořili projekt konzolové aplikace se zaškrtávacím políčku Nepoužívat příkazy nejvyšší úrovně , je tato možnost zaškrtnutá při vytváření dalšího projektu konzolové aplikace.
Obsah souboru Program.cs se může lišit podle stylu kódu definovaného v nastavení globálního Visual Studio textového editoru nebo souboru EditorConfig.
Další informace najdete v tématu Vytvoření přenosného, vlastního nastavení editoru pomocí EditorConfig a možností , textového editoru, C#, rozšířených nastavení.