Dokumentacja języka C#

Ta sekcja zawiera materiały referencyjne dotyczące słów kluczowych, operatorów, znaków specjalnych, dyrektyw preprocesora, opcji kompilatora oraz błędów i ostrzeżeń kompilatora.

W tej sekcji

Słowa kluczowe języka C#
Zawiera linki do informacji o słowach kluczowych i składni języka C#.

Operatory języka C#
Zawiera linki do informacji o operatorach i składni języka C#.

Znaki specjalne języka C#
Zawiera linki do informacji o specjalnych znakach kontekstowych w języku C# i ich użyciu.

Dyrektywy preprocesora języka C#
Zawiera linki do informacji o poleceniach kompilatora dotyczących osadzania w kodzie źródłowym języka C#.

Opcje kompilatora języka C#
Zawiera informacje na temat opcji kompilatora i sposobu ich używania.

Błędy kompilatora języka C#
Zawiera fragmenty kodu, które pokazują przyczynę i korektę błędów i ostrzeżeń kompilatora języka C#.

Specyfikacja języka C#
Specyfikacja języka C# 6.0. Jest to wersja robocza propozycji języka C# 6.0. Ten dokument zostanie udoskonalony dzięki współpracy z komitetem ds. standardów ECMA C#. Wersja 5.0 została wydana w grudniu 2017 r. jako dokument Standard ECMA-334 5th Edition .

Funkcje zaimplementowane w wersjach języka C# po wersji 6.0 są reprezentowane w propozycjach specyfikacji języka. W tych dokumentach opisano zmiany specyfikacji języka w celu dodania tych nowych funkcji. Są one w wersji roboczej formularza propozycji. Te specyfikacje zostaną udoskonalane i przesłane do komitetu ds. standardów ECMA w celu formalnej weryfikacji i włączenia do przyszłej wersji standardu C#.

Propozycje specyfikacji języka C# 7.0
W języku C# 7.0 zaimplementowano wiele nowych funkcji. Obejmują one dopasowywanie wzorców, funkcje lokalne, deklaracje zmiennych, wyrażenia throw, literały binarne i separatory cyfr. Ten folder zawiera specyfikacje każdej z tych funkcji.

Propozycje specyfikacji języka C# 7.1
W języku C# 7.1 dodano nowe funkcje. Najpierw możesz napisać metodę, która Main zwraca wartość lub TaskTask<int>. Dzięki temu można dodać async modyfikator do .Main Wyrażenia default można używać bez typu w lokalizacjach, w których można wywnioskować typ. Ponadto można wywnioskować nazwy członków krotki. Na koniec dopasowywania wzorca można używać z typami ogólnymi.

Propozycje specyfikacji języka C# 7.2
W języku C# 7.2 dodano kilka małych funkcji. Argumenty można przekazywać tylko do odczytu, używając słowa kluczowego in . Istnieje wiele zmian niskiego poziomu w celu obsługi bezpieczeństwa w czasie kompilacji Span dla typów pokrewnych. Argumentów nazwanych można używać, gdy późniejsze argumenty są pozycyjne, w niektórych sytuacjach. Modyfikator private protected dostępu umożliwia określenie, że wywołujące są ograniczone do typów pochodnych implementowanych w tym samym zestawie. Operator ?: może rozpoznać odwołanie do zmiennej. Można również formatować liczby szesnastkowe i binarne przy użyciu separatora cyfry wiodącej.

Propozycje specyfikacji języka C# 7.3
C# 7.3 to kolejne wydanie punktowe, które zawiera kilka małych aktualizacji. Można użyć nowych ograniczeń dla parametrów typu ogólnego. Inne zmiany ułatwiają pracę z polami fixed , w tym korzystanie z stackalloc alokacji. Zmienne lokalne zadeklarowane za pomocą słowa ref kluczowego mogą zostać ponownie przypisani w celu odwołania się do nowego magazynu. Atrybuty można umieścić na automatycznie zaimplementowanych właściwościach, które są kierowane do pola zapasowego wygenerowanego przez kompilator. Zmienne wyrażeń mogą być używane w inicjatorach. Krotki można porównywać pod względem równości (lub nierówności). Wprowadzono również pewne ulepszenia rozpoznawania przeciążenia.

Propozycje specyfikacji języka C# 8.0
Język C# 8.0 jest dostępny w programie .NET Core 3.0. Funkcje te obejmują typy referencyjne dopuszczające wartość null, cykliczne dopasowywanie wzorców, domyślne metody interfejsu, strumienie asynchroniczne, zakresy i indeksy, oparte na wzorcach deklaracje i deklaracje, przypisanie uwierzytelniania o wartości null oraz składowe wystąpienia tylko do odczytu.

Propozycje specyfikacji języka C# 9
Język C# 9 jest dostępny w wersji .NET 5. Funkcje obejmują rekordy, Instrukcje najwyższego poziomu, ulepszenia dopasowania wzorca, kowariantne typy zwracane init, nowe wyrażenia z typem docelowym, inicjatory modułów, rozszerzanie metod częściowych, statyczne funkcje anonimowe, wyrażenia warunkowe o rozmiarze docelowym, kowariantne typy zwracane, rozszerzenie GetEnumerator w pętlach foreach, parametry odrzucania lambda, atrybuty funkcji lokalnych, liczby całkowite o rozmiarze natywnym, wskaźniki funkcji, pomijanie emitujących flagę localsinit i niezatwierdzone adnotacje parametrów typu.

Propozycje specyfikacji języka C# 10
Język C# 10 jest dostępny w wersji .NET 6. Funkcje obejmują struktury rekordów, konstruktory struktur bez parametrów, globalne dyrektywy using, przestrzenie nazw o zakresie pliku, wzorce właściwości rozszerzonych, ulepszone ciągi interpolowane, stałe ciągi interpolowane, ulepszenia lambda, wyrażenie argumentu wywołującego, #line dyrektywy rozszerzone, atrybuty ogólne, ulepszoną analizę przypisania określonego typu i przesłonięcie AsyncMethodBuilder .

Używanie środowiska programistycznego Visual Studio dla języka C#
Zawiera linki do tematów związanych z koncepcjami i zadaniami, które opisują idee i edytor.

Przewodnik programowania w języku C#
Zawiera informacje na temat używania języka programowania C#.