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.
Programy jazyka C# se skládají z jednoho nebo více souborů. Každý soubor obsahuje nula nebo více oborů názvů. Obor názvů obsahuje typy, jako jsou třídy, struktury, rozhraní, výčty a delegáty nebo jiné obory názvů. Následující příklad je kostra programu jazyka C#, která obsahuje všechny tyto prvky.
using System;
Console.WriteLine("Hello world!");
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
}
Předchozí příklad používá příkazy nejvyšší úrovně pro vstupní bod programu. Pouze jeden soubor může mít příkazy nejvyšší úrovně. Vstupním bodem programu je první textový řádek textu programu v tomto souboru. V tomto případě je to Console.WriteLine("Hello world!");.
Můžete také vytvořit statickou metodu s názvem Main jako vstupní bod programu, jak je znázorněno v následujícím příkladu:
// A skeleton of a C# program
using System;
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world!");
}
}
}
V takovém případě program začne v počáteční složené závorce Main metody, což je Console.WriteLine("Hello world!");
Sestavování a spouštění programů v jazyce C#
Jazyk C# je kompilovaný jazyk. Ve většině programů jazyka dotnet build C# použijete příkaz ke kompilaci skupiny zdrojových souborů do binárního balíčku. Pak tento příkaz použijete dotnet run ke spuštění programu. (Tento proces můžete zjednodušit, protože dotnet run program zkompiluje před spuštěním v případě potřeby.) Tyto nástroje podporují bohatý jazyk možností konfigurace a přepínačů příkazového řádku. Rozhraní dotnet příkazového řádku (CLI), které je součástí sady .NET SDK, poskytuje mnoho nástrojů pro generování a úpravy souborů jazyka C#.
Od C# 14 a .NET 10 můžete vytvářet souborové aplikace, které zjednodušuje sestavování a spouštění programů v jazyce C#. Pomocí příkazu spustíte dotnet run program obsažený v jednom *.cs souboru. Pokud je například následující fragment kódu uložený v souboru s názvem hello-world.cs, můžete ho spustit zadáním dotnet run hello-world.cs:
#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");
První řádek programu obsahuje #! posloupnost pro unixové prostředí. Umístění příkazového rozhraní dotnet CLI se může lišit v různých distribucích operačních systémů. Pokud v jakémkoli systému Unix nastavíte oprávnění execute (+x) pro soubor C#, můžete spustit soubor C# z příkazového řádku:
./hello-world.cs
Zdrojem těchto programů musí být jeden soubor, ale jinak je platná všechna syntaxe jazyka C#. Aplikace založené na souborech můžete použít pro malé nástroje příkazového řádku, prototypy nebo jiné experimenty. Aplikace založené na souborech umožňují direktivy preprocesoru , které konfigurují systém sestavení.
Výrazy a příkazy
Programy v jazyce C# se vytvářejí pomocí výrazů a příkazů. Výrazy vytvářejí hodnotu a příkazy provádějí akci:
Výraz je kombinace hodnot, proměnných, operátorů a volání metod, která se vyhodnotí jako jedna hodnota. Výrazy vytvářejí výsledek a dají se použít všude, kde se očekává hodnota. Následující příklady jsou výrazy:
-
42(literálová hodnota) -
x + y(aritmetická operace) -
Math.Max(a, b)(volání metody) -
condition ? trueValue : falseValue(podmíněný výraz) -
new Person("John")(vytvoření objektu)
Příkaz je úplná instrukce, která provádí určitou akci. Příkazy nevrací hodnoty; místo toho řídí tok programu, deklarují proměnné nebo provádějí operace. Následující příklady jsou výroky:
-
int x = 42;(deklarace) -
Console.WriteLine("Hello");(příkaz výrazu – obalí výraz volání metody) -
if (condition) { /* code */ }(podmíněný výraz) -
return result;(return – příkaz)
Klíčové rozlišení: výrazy se vyhodnocují jako hodnoty, zatímco příkazy provádějí akce. Některé konstrukce, jako jsou volání metod, mohou být obojí. Například Math.Max(a, b) je výraz, když je použitý v int result = Math.Max(a, b);, ale stane se výrazovým příkazem, když je zapsán samostatně jako Math.Max(a, b);.
Podrobné informace o příkazech najdete v tématu Příkazy. Informace o členech s tělem výrazu a dalších vlastnostech výrazů naleznete v tématu Členy s tělem výrazu.
Související oddíly
O těchto prvcích programu se dozvíte v typech části průvodce základy:
Specifikace jazyka C#
Další informace najdete v tématu Základní koncepty ve specifikaci jazyka C#. Specifikace jazyka je konečným zdrojem syntaxe a použití jazyka C#.