Dokumentacja języka C#C# reference

Ta sekcja zawiera materiały referencyjne dotyczące słów kluczowych języka C#, operatorów, znaków specjalnych, dyrektyw preprocesora, opcji kompilatora i błędów i ostrzeżeń kompilatora.This section provides reference material about C# keywords, operators, special characters, preprocessor directives, compiler options, and compiler errors and warnings.

W tej sekcjiIn this section

Słowa kluczowe języka C#C# Keywords
Zawiera łącza do informacji o słowach kluczowych i składni języka C#.Provides links to information about C# keywords and syntax.

Operatory języka C#C# Operators
Zawiera łącza do informacji na temat operatorów i składni języka C#.Provides links to information about C# operators and syntax.

Znaki specjalne w języku C#C# Special Characters
Zawiera łącza do informacji na temat specjalnych znaków kontekstowych w języku C# i ich użycia.Provides links to information about special contextual characters in C# and their usage.

Dyrektywy preprocesora języka C#C# Preprocessor Directives
Zawiera łącza do informacji o poleceniach kompilatora osadzania w kodzie źródłowym języka C#.Provides links to information about compiler commands for embedding in C# source code.

Opcje kompilatora C#C# Compiler Options
Zawiera informacje o opcjach kompilatora i sposobach ich użycia.Includes information about compiler options and how to use them.

Błędy kompilatora C#C# Compiler Errors
Zawiera fragmenty kodu, które pokazują przyczynę i korekcję błędów i ostrzeżeń kompilatora C#.Includes code snippets that demonstrate the cause and correction of C# compiler errors and warnings.

Specyfikacja języka C#C# Language Specification
Specyfikacja języka C# 6,0.The C# 6.0 language specification. Jest to wersja robocza propozycja języka C# 6,0.This is a draft proposal for the C# 6.0 language. Ten dokument zostanie rafinowany przez współpracę z Komitetem standardowym języka C# w języku ECMA.This document will be refined through work with the ECMA C# standards committee. Wersja 5,0 została wydana w grudniu 2017 jako standardowy dokument ECMA-334 5 .Version 5.0 has been released in December 2017 as the Standard ECMA-334 5th Edition document.

Funkcje, które zostały zaimplementowane w wersjach C# po 6,0 są reprezentowane w propozycjach specyfikacji języka.The features that have been implemented in C# versions after 6.0 are represented in language specification proposals. Te dokumenty opisują różnice w specyfikacji języka w celu dodania tych nowych funkcji.These documents describe the deltas to the language spec in order to add these new features. Są one w wersji roboczej formularza propozycji.These are in draft proposal form. Te specyfikacje zostaną ulepszone i przesłane do Komitetu standardów ECMA dla formalnego przeglądu i w przyszłych wersjach standardu C#.These specifications will be refined and submitted to the ECMA standards committee for formal review and incorporation into a future version of the C# Standard.

Propozycje dotyczące specyfikacji języka C# 7,0C# 7.0 Specification Proposals
W języku C# 7,0 wprowadzono wiele nowych funkcji.There are a number of new features implemented in C# 7.0. Obejmują one Dopasowywanie wzorców, funkcje lokalne, deklaracje zmiennych wyjściowych, wyrażenia throw, literały binarne i separatory cyfr.They include pattern matching, local functions, out variable declarations, throw expressions, binary literals, and digit separators. Ten folder zawiera specyfikacje dla każdej z tych funkcji.This folder contains the specifications for each of those features.

Propozycje dotyczące specyfikacji języka C# 7,1C# 7.1 Specification Proposals
Dodano nowe funkcje w języku C# 7,1.There are new features added in C# 7.1. Najpierw można napisać Main metodę zwracającą Task lub Task<int> .First, you can write a Main method that returns Task or Task<int>. Pozwala to na dodanie async modyfikatora do Main .This enables you to add the async modifier to Main. defaultWyrażenia można użyć bez typu w lokalizacjach, w których można wywnioskować typ.The default expression can be used without a type in locations where the type can be inferred. Ponadto można wywnioskować nazwy elementów członkowskich krotki.Also, tuple member names can be inferred. Na koniec dopasowanie do wzorca może być używane z typami ogólnymi.Finally, pattern matching can be used with generics.

Propozycje dotyczące specyfikacji języka C# 7,2C# 7.2 Specification Proposals
W języku C# 7,2 dodano wiele małych funkcji.C# 7.2 added a number of small features. Argumenty można przekazać przez odwołanie tylko do odczytu za pomocą in słowa kluczowego.You can pass arguments by readonly reference using the in keyword. Istnieją pewne zmiany niskiego poziomu, które umożliwiają obsługę bezpieczeństwa w czasie kompilacji dla Span i powiązanych typów.There are a number of low-level changes to support compile-time safety for Span and related types. Można użyć nazwanych argumentów, jeśli późniejsze argumenty są pozycjonowane w niektórych sytuacjach.You can use named arguments where later arguments are positional, in some situations. private protectedModyfikator dostępu pozwala określić, że wywołania są ograniczone do typów pochodnych wdrożonych w tym samym zestawie.The private protected access modifier enables you to specify that callers are limited to derived types implemented in the same assembly. ?:Operator może rozpoznać odwołanie do zmiennej.The ?: operator can resolve to a reference to a variable. Możesz również sformatować liczby szesnastkowe i binarne przy użyciu wiodącego separatora cyfr.You can also format hexadecimal and binary numbers using a leading digit separator.

Propozycje dotyczące specyfikacji języka C# 7,3C# 7.3 Specification Proposals
C# 7,3 to kolejna wersja punktu, która obejmuje kilka małych aktualizacji.C# 7.3 is another point release that includes several small updates. Możesz użyć nowych ograniczeń dla parametrów typu ogólnego.You can use new constraints on generic type parameters. Inne zmiany ułatwiają pracę z fixed polami, w tym za pomocą stackalloc przydziałów.Other changes make it easier to work with fixed fields, including using stackalloc allocations. Zmienne lokalne zadeklarowane za pomocą ref słowa kluczowego mogą zostać przypisane do nowego magazynu.Local variables declared with the ref keyword may be reassigned to refer to new storage. Można umieścić atrybuty dla automatycznie implementowanych właściwości, które są przeznaczone dla pola zapasowego wygenerowanego przez kompilator.You can place attributes on auto-implemented properties that target the compiler-generated backing field. Zmiennych wyrażeń można używać w inicjatorach.Expression variables can be used in initializers. Krotki można porównać pod kątem równości (lub nierówności).Tuples can be compared for equality (or inequality). Wprowadzono również pewne ulepszenia dotyczące rozpoznawania przeciążenia.There have also been some improvements to overload resolution.

Propozycje dotyczące specyfikacji języka C# 8,0C# 8.0 Specification Proposals
Język C# 8,0 jest dostępny z platformą .NET Core 3,0.C# 8.0 is available with .NET Core 3.0. Funkcje obejmują typy referencyjne dopuszczające wartość null, cykliczne dopasowywanie do wzorca, domyślne metody interfejsu, strumienie asynchroniczne, zakresy i indeksy, wzorzec oparty na używaniu i używaniu deklaracji, przypisywaniu łączenia zerowego i elementów członkowskich wystąpień tylko do odczytu.The features include nullable reference types, recursive pattern matching, default interface methods, async streams, ranges and indexes, pattern based using and using declarations, null coalescing assignment, and readonly instance members.

Propozycje dotyczące specyfikacji języka C# 9,0C# 9.0 Specification Proposals
Język C# 9,0 jest dostępny z platformą .NET 5,0.C# 9.0 is available with .NET 5.0. Funkcje obejmują rekordy, instrukcje najwyższego poziomu, udoskonalenia dopasowania wzorców, inicjowanie tylko metod ustawiających, nowe wyrażenia w miejscu docelowym, inicjatory modułów, rozszerzające metody częściowe, statyczne funkcje anonimowe, wyrażenia warunkowe typu Target, typy zwracane przez rozszerzenia, rozszerzenie GetEnumerator w pętlach foreach, Odrzuć parametry, atrybuty funkcji lokalnych, liczby całkowite o rozmiarze natywnym, wskaźniki funkcji, pomija emitowanie flagi localsinit i nieograniczenia parametrów typu.The features include records, top-level statements, pattern matching enhancements, init only setters, target-typed new expressions, module initializers, extending partial methods, static anonymous functions, target-typed conditional expressions, covariant return types, extension GetEnumerator in foreach loops, lambda discard parameters, attributes on local functions, native sized integers, function pointers, suppress emitting localsinit flag, and unconstrained type parameter annotations.

Używanie środowiska programistycznego Visual Studio dla języka C#Using the Visual Studio Development Environment for C#
Zawiera łącza do tematów dotyczących pojęć i zadań, które opisują środowisko IDE i edytor.Provides links to conceptual and task topics that describe the IDE and Editor.

Przewodnik programowania w języku C#C# Programming Guide
Zawiera informacje o sposobach używania języka programowania w języku C#.Includes information about how to use the C# programming language.