Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .openpublishing.redirection.csharp.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.2/conditional-ref.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1218-conditional-operator"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1219-conditional-operator"
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.2/non-trailing-named-arguments.md",
Expand Down Expand Up @@ -94,7 +94,7 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.3/pattern-based-fixed.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#237-the-fixed-statement"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#247-the-fixed-statement"
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.3/ref-local-reassignment.md",
Expand Down Expand Up @@ -122,7 +122,7 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-8.0/null-coalescing-assignment.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1221-assignment-operators"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1222-assignment-operators"
},
{
"source_path_from_root": "/redirections/proposals/csharp-8.0/async-streams.md",
Expand Down
7 changes: 4 additions & 3 deletions docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
"csharp-8.0/readonly-instance-members.md",
"csharp-8.0/null-coalescing-assignment.md",
"csharp-8.0/async-streams.md",
"csharp-8.0/ranges.md",
"csharp-9.0/nullable-reference-types-specification.md",
"csharp-9.0/nullable-constructor-analysis.md",
"csharp-9.0/nullable-parameter-default-value-analysis.md",
Expand Down Expand Up @@ -622,6 +623,7 @@
"_csharpstandard/standard/classes.md": "Classes",
"_csharpstandard/standard/structs.md": "Structs",
"_csharpstandard/standard/arrays.md": "Arrays",
"_csharpstandard/standard/ranges.md": "Indexes and ranges",
"_csharpstandard/standard/interfaces.md": "Interfaces",
"_csharpstandard/standard/enums.md": "Enums",
"_csharpstandard/standard/delegates.md": "Delegates",
Expand All @@ -635,7 +637,6 @@
"_csharpstandard/standard/Bibliography.md": "Bibliography",
"_csharplang/proposals/csharp-8.0/patterns.md": "Recursive pattern matching",
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "Default interface methods",
"_csharplang/proposals/csharp-8.0/ranges.md": "Ranges and indices",
"_csharplang/proposals/csharp-8.0/using.md": "Pattern based using and using declarations",
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "Covariant return types",
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "Extending partial methods",
Expand Down Expand Up @@ -749,7 +750,8 @@
"_csharpstandard/standard/namespaces.md": "This chapter defines namespaces, including how to declare them and how to use them.",
"_csharpstandard/standard/classes.md": "This chapter covers class declarations, including all member types that can be included in classes. This includes generic classes as well as non-generic classes.",
"_csharpstandard/standard/structs.md": "This chapter defines struct declarations. In many cases, the descriptions are defined using the differences between classes and structs.",
"_csharpstandard/standard/arrays.md": "This chapter defines arrays. It includes the rules for array variance, multi-dimensional arrays and jagged arrays.",
"_csharpstandard/standard/arrays.md": "This chapter defines arrays. It includes the rules for array variance, multi-dimensional arrays, and jagged arrays.",
"_csharpstandard/standard/ranges.md": "This chapter defines the index and range operators for indexing into arrays, strings, and spans.",
"_csharpstandard/standard/interfaces.md": "This chapter defines interfaces. This includes interface declarations, implementing interfaces, and explicit interface implementation.",
"_csharpstandard/standard/enums.md": "This chapter defines the enum types in C#. Enums create a set of named constants and are represented by an underlying integral set of values.",
"_csharpstandard/standard/delegates.md": "This chapter defines delegates, which are objects that hold type safe function pointers.",
Expand All @@ -763,7 +765,6 @@
"_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
"_csharplang/proposals/csharp-8.0/patterns.md": "This feature specification describes recursive pattern matching, where patterns can nest inside other patterns.",
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "This feature specification describe the syntax updates necessary to support default interface methods. This includes declaring bodies in interface declarations, and supporting modifiers on declarations.",
"_csharplang/proposals/csharp-8.0/ranges.md": "This feature specification describes the syntax for ranges and indices, which support indexing individual elements of a sequence or a range of a sequence from the start or end of that sequence.",
"_csharplang/proposals/csharp-8.0/using.md": "This feature specification supports pattern based using and using declarations to simplify resource cleanup.",
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "This feature specification describes covariant return types, where overriding member declarations can return a type derived from the overridden member declaration.",
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "This feature specification describes extensions to partial methods. These extensions enable source generators to create or call partial methods.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ For example, the following code shows three equivalent `DllImport` attributes:
[DllImport("user32.dll", ExactSpelling=false, SetLastError=false)]
```

The first parameter, the DLL name, is positional and always comes first. The other instances are named parameters. In this scenario, both named parameters default to false, so they can be omitted. Refer to the individual attribute's documentation for information on default parameter values. For more information on allowed parameter types, see the [Attributes](~/_csharpstandard/standard/attributes.md#2224-attribute-parameter-types) section of the [C# language specification](~/_csharpstandard/standard/README.md).
The first parameter, the DLL name, is positional and always comes first. The other instances are named parameters. In this scenario, both named parameters default to false, so they can be omitted. Refer to the individual attribute's documentation for information on default parameter values. For more information on allowed parameter types, see the [Attributes](~/_csharpstandard/standard/attributes.md#2324-attribute-parameter-types) section of the [C# language specification](~/_csharpstandard/standard/README.md).

### Attribute targets

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ The following example shows the behavior of an async event handler. In the examp

An async method can return any type that has an accessible `GetAwaiter` method that returns an instance of an *awaiter type*. In addition, the returned type must match the type of the parameter of `SetResult` and returned type of the `Task` property on the type specified by the <xref:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute?displayProperty=nameWithType> attribute. You can learn more in the article on [Attributes read by the compiler](../language-reference/attributes/general.md#asyncmethodbuilder-attribute) or the C# spec for the [Task type builder pattern](~/_csharpstandard/standard/classes.md#15142-task-type-builder-pattern).

This feature is the complement to [awaitable expressions](~/_csharpstandard/standard/expressions.md#12982-awaitable-expressions), which describes the requirements for the operand of `await`. Generalized async return types enable the compiler to generate `async` methods that return different types. Generalized async return types enabled performance improvements in the .NET libraries. Because <xref:System.Threading.Tasks.Task> and <xref:System.Threading.Tasks.Task%601> are reference types, memory allocation in performance-critical paths, particularly when allocations occur in tight loops, can adversely affect performance. Support for generalized return types means that you can return a lightweight value type instead of a reference type to avoid more memory allocations.
This feature is the complement to [awaitable expressions](~/_csharpstandard/standard/expressions.md#12992-awaitable-expressions), which describes the requirements for the operand of `await`. Generalized async return types enable the compiler to generate `async` methods that return different types. Generalized async return types enabled performance improvements in the .NET libraries. Because <xref:System.Threading.Tasks.Task> and <xref:System.Threading.Tasks.Task%601> are reference types, memory allocation in performance-critical paths, particularly when allocations occur in tight loops, can adversely affect performance. Support for generalized return types means that you can return a lightweight value type instead of a reference type to avoid more memory allocations.

.NET provides the <xref:System.Threading.Tasks.ValueTask%601?displayProperty=nameWithType> structure as a lightweight implementation of a generalized task-returning value. The following example uses the <xref:System.Threading.Tasks.ValueTask%601> structure to retrieve the value of two dice rolls.

Expand Down
6 changes: 3 additions & 3 deletions docs/csharp/language-reference/builtin-types/enum.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ For any enumeration type, there exist [boxing and unboxing](../../programming-gu
For more information, see the following sections of the [C# language specification](~/_csharpstandard/standard/README.md):

- [Enums](~/_csharpstandard/standard/enums.md)
- [Enum values and operations](~/_csharpstandard/standard/enums.md#196-enum-values-and-operations)
- [Enumeration logical operators](~/_csharpstandard/standard/expressions.md#12133-enumeration-logical-operators)
- [Enumeration comparison operators](~/_csharpstandard/standard/expressions.md#12126-enumeration-comparison-operators)
- [Enum values and operations](~/_csharpstandard/standard/enums.md#206-enum-values-and-operations)
- [Enumeration logical operators](~/_csharpstandard/standard/expressions.md#12143-enumeration-logical-operators)
- [Enumeration comparison operators](~/_csharpstandard/standard/expressions.md#12136-enumeration-comparison-operators)
- [Explicit enumeration conversions](~/_csharpstandard/standard/conversions.md#1033-explicit-enumeration-conversions)
- [Implicit enumeration conversions](~/_csharpstandard/standard/conversions.md#1024-implicit-enumeration-conversions)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ A generic struct may be the source of both unmanaged and managed constructed typ

## C# language specification

For more information, see the [Pointer types](~/_csharpstandard/standard/unsafe-code.md#233-pointer-types) section of the [C# language specification](~/_csharpstandard/standard/README.md).
For more information, see the [Pointer types](~/_csharpstandard/standard/unsafe-code.md#243-pointer-types) section of the [C# language specification](~/_csharpstandard/standard/README.md).

## See also

Expand Down
2 changes: 1 addition & 1 deletion docs/csharp/language-reference/keywords/const.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ The following example demonstrates how to declare a local constant:
For more information, see the following sections of the [C# language specification](~/_csharpstandard/standard/README.md):

- [Constants](~/_csharpstandard/standard/classes.md#154-constants)
- [Constant expressions](~/_csharpstandard/standard/expressions.md#1223-constant-expressions)
- [Constant expressions](~/_csharpstandard/standard/expressions.md#1224-constant-expressions)

## See also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ A user-defined type can [overload](operator-overloading.md) the `+` operator. Wh

## C# language specification

For more information, see the [Unary plus operator](~/_csharpstandard/standard/expressions.md#1292-unary-plus-operator) and [Addition operator](~/_csharpstandard/standard/expressions.md#12105-addition-operator) sections of the [C# language specification](~/_csharpstandard/standard/README.md). For more information on overloading the compound assignment operators in C# 14 and later, see the [user defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.
For more information, see the [Unary plus operator](~/_csharpstandard/standard/expressions.md#1292-unary-plus-operator) and [Addition operator](~/_csharpstandard/standard/expressions.md#12115-addition-operator) sections of the [C# language specification](~/_csharpstandard/standard/README.md). For more information on overloading the compound assignment operators in C# 14 and later, see the [user defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.

## See also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ For the `float` and `double` operands, the result of `x % y` for the finite `x`
> [!NOTE]
> This method of computing the remainder is analogous to the method used for integer operands, but different from the IEEE 754 specification. If you need the remainder operation that complies with the IEEE 754 specification, use the <xref:System.Math.IEEERemainder%2A?displayProperty=nameWithType> method.

For information about the behavior of the `%` operator with non-finite operands, see the [Remainder operator](~/_csharpstandard/standard/expressions.md#12104-remainder-operator) section of the [C# language specification](~/_csharpstandard/standard/README.md).
For information about the behavior of the `%` operator with non-finite operands, see the [Remainder operator](~/_csharpstandard/standard/expressions.md#12114-remainder-operator) section of the [C# language specification](~/_csharpstandard/standard/README.md).

For the `decimal` operands, the remainder operator `%` is equivalent to the [remainder operator](<xref:System.Decimal.op_Modulus(System.Decimal,System.Decimal)>) of the <xref:System.Decimal?displayProperty=nameWithType> type.

Expand Down Expand Up @@ -279,15 +279,15 @@ You can use the `checked` modifier only when you overload any of the following o
For more information, see the following sections of the [C# language specification](~/_csharpstandard/standard/README.md):

- [Postfix increment and decrement operators](~/_csharpstandard/standard/expressions.md#12816-postfix-increment-and-decrement-operators)
- [Prefix increment and decrement operators](~/_csharpstandard/standard/expressions.md#1296-prefix-increment-and-decrement-operators)
- [Prefix increment and decrement operators](~/_csharpstandard/standard/expressions.md#1297-prefix-increment-and-decrement-operators)
- [Unary plus operator](~/_csharpstandard/standard/expressions.md#1292-unary-plus-operator)
- [Unary minus operator](~/_csharpstandard/standard/expressions.md#1293-unary-minus-operator)
- [Multiplication operator](~/_csharpstandard/standard/expressions.md#12102-multiplication-operator)
- [Division operator](~/_csharpstandard/standard/expressions.md#12103-division-operator)
- [Remainder operator](~/_csharpstandard/standard/expressions.md#12104-remainder-operator)
- [Addition operator](~/_csharpstandard/standard/expressions.md#12105-addition-operator)
- [Subtraction operator](~/_csharpstandard/standard/expressions.md#12106-subtraction-operator)
- [Compound assignment](~/_csharpstandard/standard/expressions.md#12214-compound-assignment)
- [Multiplication operator](~/_csharpstandard/standard/expressions.md#12112-multiplication-operator)
- [Division operator](~/_csharpstandard/standard/expressions.md#12113-division-operator)
- [Remainder operator](~/_csharpstandard/standard/expressions.md#12114-remainder-operator)
- [Addition operator](~/_csharpstandard/standard/expressions.md#12115-addition-operator)
- [Subtraction operator](~/_csharpstandard/standard/expressions.md#12116-subtraction-operator)
- [Compound assignment](~/_csharpstandard/standard/expressions.md#12224-compound-assignment)
- [The checked and unchecked operators](~/_csharpstandard/standard/expressions.md#12820-the-checked-and-unchecked-operators)
- [Numeric promotions](~/_csharpstandard/standard/expressions.md#1247-numeric-promotions)
- [User defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ If a user-defined type overloads a binary operator `op`, the `op=` operator, if

## C# language specification

For more information, see the [Assignment operators](~/_csharpstandard/standard/expressions.md#1221-assignment-operators) section of the [C# language specification](~/_csharpstandard/standard/README.md) and the [User defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.
For more information, see the [Assignment operators](~/_csharpstandard/standard/expressions.md#1222-assignment-operators) section of the [C# language specification](~/_csharpstandard/standard/README.md) and the [User defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.

## See also

Expand Down
Loading