Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Programy w języku C# składają się z co najmniej jednego pliku. Każdy plik zawiera zero lub więcej przestrzeni nazw. Przestrzeń nazw zawiera typy, takie jak klasy, struktury, interfejsy, wyliczenia i delegaty lub inne przestrzenie nazw. Poniższy przykład to szkielet programu w języku C#, który zawiera wszystkie te elementy.
using System;
Console.WriteLine("Hello world!");
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
}
W poprzednim przykładzie użyto instrukcji najwyższego poziomu jako punktu wejściowego programu. Tylko jeden plik może zawierać instrukcje najwyższego poziomu. Punkt wejścia programu jest pierwszym wierszem tekstu programu w tym pliku. W tym przypadku jest to Console.WriteLine("Hello world!");.
Możesz również utworzyć metodę statyczną o nazwie Main jako punkt wejścia programu, jak pokazano w poniższym przykładzie:
// 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!");
}
}
}
W takim przypadku program rozpoczyna się od otwierającego nawiasu klamrowego Main metody, czyli Console.WriteLine("Hello world!");
Kompilowanie i uruchamianie programów w języku C#
C# to skompilowany język. W większości programów w języku C# używasz polecenia dotnet build do kompilowania grupy plików źródłowych do pakietu binarnego. Następnie użyj dotnet run polecenia , aby uruchomić program. (Ten proces można uprościć, ponieważ dotnet run kompiluje program przed uruchomieniem go w razie potrzeby). Te narzędzia obsługują bogaty język opcji konfiguracji i przełączników wiersza polecenia. Interfejs dotnet wiersza polecenia (CLI), który jest zawarty w zestawie SDK platformy .NET, udostępnia wiele narzędzi do generowania i modyfikowania plików języka C#.
Począwszy od języków C# 14 i .NET 10, można tworzyć aplikacje oparte na plikach, co upraszcza kompilowanie i uruchamianie programów w języku C#. Używasz polecenia dotnet run do uruchamiania programu zawartego w jednym *.cs pliku. Jeśli na przykład poniższy fragment kodu jest przechowywany w pliku o nazwie hello-world.cs, możesz uruchomić go, wpisując polecenie dotnet run hello-world.cs:
#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");
Pierwszy wiersz programu zawiera #! sekwencję powłok systemu Unix. Lokalizacja interfejsu dotnet wiersza polecenia może się różnić w różnych dystrybucjach. W dowolnym systemie Unix, jeśli ustawisz uprawnienie wykonywania (+x) w pliku C#, możesz uruchomić plik C# z wiersza polecenia:
./hello-world.cs
Źródło tych programów musi być pojedynczym plikiem, ale w przeciwnym razie prawidłowa jest cała składnia języka C#. Aplikacje oparte na plikach można używać w przypadku małych narzędzi wiersza polecenia, prototypów lub innych eksperymentów. Aplikacje oparte na plikach zezwalają na dyrektywy preprocesora , które konfigurują system kompilacji.
Wyrażenia i instrukcje
Programy języka C# są tworzone przy użyciu wyrażeń i instrukcji. Wyrażenia generują wartość, a instrukcje wykonują akcję:
Wyrażenie to kombinacja wartości, zmiennych, operatorów i wywołań metod, które są obliczane na jedną wartość. Wyrażenia generują wynik i mogą być używane wszędzie tam, gdzie oczekiwano wartości. Następujące przykłady to wyrażenia:
-
42(wartość literału) -
x + y(operacja arytmetyczna) -
Math.Max(a, b)(wywołanie metody) -
condition ? trueValue : falseValue(wyrażenie warunkowe) -
new Person("John")(tworzenie obiektu)
Instrukcja to kompletna instrukcja wykonująca działanie. Instrukcje nie zwracają wartości; Zamiast tego kontrolują przepływ programu, deklarują zmienne lub wykonują operacje. Poniższe przykłady to stwierdzenia.
-
int x = 42;(deklaracja) -
Console.WriteLine("Hello");(instrukcja wyrażenia — opakowuje wyrażenie wywołania metody) -
if (condition) { /* code */ }(instrukcja warunkowa) -
return result;(instrukcja zwracania)
Kluczowe rozróżnienie: wyrażenia są obliczane na wartości, a instrukcje wykonują akcje. Niektóre konstrukcje, takie jak wywołania metod, mogą być obydwoma. Na przykład Math.Max(a, b) jest wyrażeniem, gdy jest używane w int result = Math.Max(a, b);, ale staje się instrukcją wyrażenia, gdy jest pisane samodzielnie jako Math.Max(a, b);.
Aby uzyskać szczegółowe informacje na temat oświadczeń, zobacz Oświadczenia. Aby uzyskać informacje o elementach członkowskich wyrażeń i innych funkcjach wyrażeń, zobacz Elementy członkowskie wyrażeń.
Powiązane sekcje
Poznasz te elementy programu w sekcji dotyczącej typów przewodnika podstawowego:
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia w specyfikacji języka C#. Specyfikacja języka jest ostatecznym źródłem składni i użycia języka C#.