Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET 6-os verziótól kezdve az új C#-konzolalkalmazások projektsablonja a következő kódot hozza létre a Program.cs fájlban:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Az .NET 5-ös és korábbi verziói esetén a konzolalkalmazás-sablon a következő kódot hozza létre:
using System;
namespace MyApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Az előző kódban a tényleges névtér a projekt nevétől függ.
Ez a két űrlap ugyanazt a programot képviseli. Mindkettő érvényes C#-ban. Az újabb verzió használatakor csak a Main metódus törzsét kell írnia. A fordító létrehoz egy Program belépésipont-metódussal rendelkező osztályt, és az összes legfelső szintű utasítást ebben a metódusban helyezi el. A létrehozott metódus neve nem Main– ez egy implementációs részlet, amelyet a kód nem tud közvetlenül hivatkozni. Nem kell belefoglalnia a többi programelemet; a fordító létrehozza őket Önnek. A fordító által a legfelső szintű utasítások használatakor létrehozott kódról további információt a C# útmutató alapjai című szakaszban talál.
Ha olyan oktatóanyagokkal dolgozik, amelyek nem frissülnek .NET több mint 6 sablon használatára, használja az alábbi két lehetőség egyikét:
- Használja az új programstílust, és adjon hozzá új felső szintű utasításokat a funkciók hozzáadásakor.
- Konvertálja az új programstílust a régebbi stílusra egy
Programosztály és egyMainmetódus használatával.
Ha a régi sablonokat szeretné használni, a cikk későbbi részében a régi programstílus használata című témakörben olvashat.
Az új programstílus használata
Az új programot egyszerűbbé tevő funkciók a legfelső szintű utasítások, a globális using irányelvek és az implicit using irányelvek.
A legfelső szintű utasítások kifejezés azt jelenti, hogy a fordító létrehozza a fő program osztály- és metóduselemeit. A fordító deklarálja a létrehozott osztály- és belépésipont-metódust a globális névtérben. Tekintse meg az új alkalmazás kódját, és képzelje el, hogy a Main metódus tartalmazza a korábbi sablonok által generált utasításokat a globális névtérben.
Adjon hozzá további utasításokat a programhoz, ahogyan a hagyományos stílusban adja hozzá az utasításokat a metódushoz Main .
Access args (parancssori argumentumok), használja await, és állítsa be a kilépési kódot. Függvényeket is hozzáadhat. A fordító helyi függvényként hozza létre őket a létrehozott belépésipont-metódusba ágyazva. A helyi függvények nem tartalmazhatnak hozzáférési módosítókat (például publicprotected).
A legfelső szintű utasítások és az implicit using irányelvek egyaránt leegyszerűsítik az alkalmazást alkotó kódot. Meglévő oktatóanyag követéséhez adjon hozzá minden új utasítást a sablon által létrehozott Program.cs fájlhoz. Képzelje el, hogy az ön által írt utasítások a metódus nyitott és záró zárójelei Main között vannak az oktatóanyag utasításaiban.
Ha a régebbi formátumot szeretné használni, másolja a kódot a jelen cikk második példájából, és folytassa az oktatóanyagot a korábbiakhoz hasonlóan.
A legfelső szintű utasításokról további információt a felső szintű utasítások oktatóanyagában talál.
Implicit using irányelvek
Az implicit using irányelvek kifejezés azt jelenti, hogy a fordító automatikusan hozzáad egy irányelvkészletetusing a projekt típusa alapján. Konzolalkalmazások esetében a következő irányelvek implicit módon szerepelnek az alkalmazásban:
using System;using System.IO;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.Threading;using System.Threading.Tasks;
Más alkalmazástípusok több olyan névteret is tartalmaznak, amelyek gyakran előfordulnak az adott alkalmazástípusok esetében.
Ha olyan irányelvekre van szüksége using , amelyek nem implicit módon szerepelnek, vegye fel őket a legfelső szintű utasításokat tartalmazó .cs fájlba vagy más .cs fájlokba. Az alkalmazások összes using fájljában szükséges irányelvekhez használjon globális using irányelveket.
Implicit using irányelvek letiltása
Ha el szeretné távolítani ezt a viselkedést, és manuálisan szabályozni szeretné a projekt összes névterét, adja hozzá <ImplicitUsings>disable</ImplicitUsings> az <PropertyGroup> elem projektfájljához az alábbi példában látható módon:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
</Project>
Globális using irányelvek
Egy globális using irányelv egyetlen fájl helyett a teljes alkalmazás névterét importálja. Adja hozzá ezeket a globális irányelveket úgy, hogy belevesz egy <Using> elemet a projektfájlba, vagy hozzáadja az global using irányelvet egy kódfájlhoz.
Egy adott implicit direktíva usingeltávolításához adjon hozzá egy <Using> attribútumot tartalmazó Remove elemet a projektfájlhoz. Ha például az implicit using irányelv funkció be van kapcsolva <ImplicitUsings>enable</ImplicitUsings>, az alábbi <Using> elem hozzáadásával eltávolítja az adott System.Net.Http névteret az implicit módon importáltak közül.
<ItemGroup>
<Using Remove="System.Net.Http" />
</ItemGroup>
A régi programstílus használata
A .NET SDK 6.0.300-tól kezdve a console sablon --use-program-main lehetőséggel rendelkezik. Segítségével létrehozhat egy olyan konzolprojektet, amely nem használ legfelső szintű utasításokat, és rendelkezik metódussal Main .
dotnet new console --use-program-main
A generált Program.cs adatok a következők:
namespace MyProject;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
A Visual Studio régi programstílusának használata
Új projekt létrehozásakor a beállítási lépések a További információ beállítás lapjára lépnek. Ezen a lapon jelölje be a Ne használjon felső szintű utasításokat jelölőnégyzetet .
A projekt létrehozása után a
Program.cstartalom a következő:namespace MyProject; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }
Jegyzet
Visual Studio megőrzi a beállítás értékét, amikor legközelebb ugyanazon sablon alapján hoz létre projektet. Ha legutóbb bejelölte a Do not use top-level statements jelölőnégyzetet, amikor konzolalkalmazás-projektet hozott létre, akkor a következő konzolalkalmazás-projekt létrehozásakor is be lesz jelölve ez az opció.
A Program.cs fájl tartalma eltérhet a globális Visual Studio szövegszerkesztő beállításaiban vagy a EditorConfig fájlban meghatározott kódstílustól.
További információ: Hordozható, egyéni szerkesztőbeállítások létrehozása a Szerkesztőkonfiguráció és beállítások, Szövegszerkesztő, C#, Speciális beállításokkal.