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.
Návod
Začínáte s vývojem softwaru? Začněte nejprve kurzy Začínáme . Než se dozvíte o struktuře programů, provedou vás psaním prvních programů jazyka C#.
Máte zkušenosti v jiném jazyce? Možná budete chtít přeskočit část Začínáme pro syntaxi specifickou pro jazyk C#a pak se sem vrátit.
Programy jazyka C# vytváříte z těchto základních stavebních bloků: obory názvů uspořádají typy, typy (třídy, struktury, rozhraní, výčty a delegáty) definují chování a data a příkazy a výrazy provádějí práci za běhu. Způsob strukturování vstupního bodu závisí na tom, jaký styl aplikace zvolíte.
Volba stylu aplikace
Když vytvoříte program v jazyce C#, proveďte dvě nezávislé volby, jak ho strukturovat:
-
Souborové nebo projektové?
- Aplikace založená na souborech běží z jednoho
.cssouboru bez souboru projektu. - Aplikace založená na projektu používá
.csprojsoubor a může zahrnovat více zdrojových souborů.
- Aplikace založená na souborech běží z jednoho
-
Příkazy nejvyšší úrovně nebo
Mainmetoda?- Příkazy nejvyšší úrovně umožňují psát spustitelný kód přímo na začátek souboru.
- Metoda
Mainzabalí vstupní bod do explicitní statické metody.
Aplikace založené na projektu i souborové aplikace podporují styl vstupního bodu.
Souborové aplikace vs. aplikace založené na projektu
Počínaje verzemi C# 14 a .NET 10 vám aplikace založené na souborech umožňují spustit program obsažený v jednom *.cs souboru bez souboru projektu. Do souboru s názvem hello-world.cs uložte následující kód a spusťte ho pomocí dotnet run hello-world.cs nebo dotnet hello-world.cs:
#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");
Poznámka:
Řádek #! umožňuje, aby unixová prostředí spouštěla soubor přímo. V jakémkoli systému Unix nastavte oprávnění ke spuštění (+x) a spusťte soubor z příkazového řádku.
Souborové aplikace podporují všechny syntaxe jazyka C# a můžou ke konfiguraci systému sestavení použít direktivy preprocesoru . Používejte souborové aplikace pro malé nástroje příkazového řádku, prototypy a experimenty. Souborová aplikace se skládá z jednoho souboru v adresáři:
my-app/
└── hello-world.cs
Aplikace založené na projektu používají soubor .csproj a .NET CLI příkazydotnet new, dotnet build a dotnet run pracovní postup. Zvolte aplikace založené na projektu, když váš program pokrývá více souborů nebo potřebuje jemně odstupňovanou konfiguraci sestavení. Aplikace založená na projektu obsahuje soubor projektu společně s jedním nebo více zdrojovými soubory:
my-app/
├── my-app.csproj
├── Program.cs
├── Models/
│ └── Person.cs
└── Services/
└── GreetingService.cs
Pokud se vaše aplikace založená na souborech rozrůstá, můžete ji snadno převést na projektovou aplikaci. Spuštěním dotnet project convert vygenerujte soubor projektu z existujícího zdrojového souboru.
Pokud víte, že vaše aplikace potřebuje od začátku více zdrojových souborů, začněte aplikací založenou na projektu. Krok převodu se vyhnete a kód můžete hned uspořádat do samostatných souborů.
Příkazy nejvyšší úrovně vs. Main metoda
Pomocí příkazů nejvyšší úrovně můžete zapsat spustitelný kód přímo do jednoho souboru bez zabalení do třídy a Main metody. Tento styl je výchozí při vytváření nové konzolové aplikace s dotnet new console. Následující příklad ukazuje moderní program jazyka C#, který používá příkazy nejvyšší úrovně:
Console.WriteLine("Hello, World!");
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
}
Pouze jeden soubor v projektu může obsahovat příkazy nejvyšší úrovně a vstupní bod je prvním řádkem textu programu v tomto souboru. Při vytváření větších programů zahrnete více prvků programu.
Jako vstupní bod programu můžete také definovat explicitní statickou Main metodu:
// A skeleton of a C# program using an explicit Main method
namespace YourNamespace;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
Oba styly vstupních bodů fungují se souborovými i projektovými aplikacemi. Oba styly podporují stejné funkce.
Sestavování a spouštění programů v jazyce C#
Jazyk C# je kompilovaný jazyk. V případě aplikací založených na projektu použijte dotnet build příkaz ke kompilaci zdrojových souborů do binárního balíčku. Použijte dotnet run pro sestavení a spuštění v jednom kroku. Rozhraní dotnet příkazového řádku, které je součástí sady .NET SDK, poskytuje mnoho nástrojů pro vytváření, sestavování a správu projektů jazyka C#.
U souborových aplikací dotnet run hello-world.cs se zkompiluje a spustí jeden soubor přímo – nevyžaduje se žádný soubor projektu.
Výrazy a příkazy
Pokud jste postupovali podle kurzů Začínáme , už jste napsali výrazy a příkazy. Každý řádek kódu, který jste zadali, byl jeden nebo druhý (nebo oba). Teď pojďme tyto termíny definovat.
Výrazy a příkazy jsou základními stavebními bloky programu jazyka C#. Výraz vytvoří hodnotu. Příkaz vykoná akci a obvykle končí středníkem.
Následují výrazy:
-
42(literálová hodnota) -
x + y(aritmetická operace) -
Math.Max(a, b)(volání metody, která vytváří hodnotu) -
condition ? trueValue : falseValue(podmíněný výraz) -
new Person("John")(vytvoření objektu)
Příkaz vykonává akci. Příkazy řídí tok programu, deklarují proměnné nebo vyvolávají operace. Toto jsou tvrzení:
-
int x;(deklarace) -
int x = 42;(prohlášení s inicializací) -
Console.WriteLine("Hello");(příkaz volání metody) -
if (condition) { /* code */ }(podmíněný výraz) -
return result;(return – příkaz)
Příkazy často obsahují výrazy a výrazy můžou být vnořeny do jiných výrazů. Například následující deklarace přiřadí f jako výsledek výrazu sčítání. Tento výraz sčítání sčítá výsledky dvou volání metod:
var maxResult = Math.Max(a, b) + Math.Max(c, d);
Podrobné informace o příkazech najdete v tématu Příkazy. Informace o členech s tělem tvořeným výrazem naleznete v tématu Expression-bodied members.