You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Fixed missing opening backtick on `System.IntPtr`.
2. Fixed grammar from "In context if type resolution (§7.8.1) on either of these names succeeds then that name shall be recognised" to "If type resolution (§7.8.1) on either of these names succeeds, that name shall be recognised".
3. Added "native signed precision, or native unsigned precision" to the operator precision list, and added a note clarifying that native precision means 32-bit or 64-bit depending on platform and that nint/nuint operators use native precision rather than being promoted.
Copy file name to clipboardExpand all lines: standard/types.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -222,7 +222,7 @@ nullable_value_type
222
222
;
223
223
```
224
224
225
-
Because the names `nint` and `nuint` are not keywords there is syntactic ambiguity between recognising them as a *type_name* or a *value_type*. In context if type resolution (§7.8.1) on either of these names succeeds then that name shall be recognised as a *type_name*; otherwise it shall be recognised as a *value_type*.
225
+
Because the names `nint` and `nuint` are not keywords there is syntactic ambiguity between recognising them as a *type_name* or a *value_type*. If type resolution (§7.8.1) on either of these names succeeds, that name shall be recognised as a *type_name*; otherwise it shall be recognised as a *value_type*.
226
226
227
227
Unlike a variable of a reference type, a variable of a value type can contain the value `null` only if the value type is a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)). For every non-nullable value type there is a corresponding nullable value type denoting the same set of values plus the value `null`.
228
228
@@ -328,7 +328,7 @@ Every simple type has members. Each simple type that is an alias for a predefine
328
328
329
329
Thetypes `nint` and `nuint` arerepresentedbythetypes `System.IntPtr` and `System.UIntPtr`, respectively, andare *not* aliasesforthesetypes. Inthiscontextbeing *representedby* means:
330
330
331
-
- Theonlymembersdirectlyaccessiblefor `nint` and `nuint` aretherequiredmethodsof `Object` ([§C.2](standard-library.md#c2-standard-library-types-defined-in-isoiec-23271)). AnyothermembersofSystem.IntPtr` and `System.UIntPtr` maybeaccessedviathosetypes.
331
+
- Theonlymembersdirectlyaccessiblefor `nint` and `nuint` aretherequiredmethodsof `Object` ([§C.2](standard-library.md#c2-standard-library-types-defined-in-isoiec-23271)). Anyothermembersof`System.IntPtr` and `System.UIntPtr` maybeaccessedviathosetypes.
332
332
- Operationsperformedthrough `dynamic` bindingon `System.IntPtr` and `System.UIntPtr` valuesdonothaveaccesstothe `nint` and `nuint` operators.
333
333
- Inallotherrespects `nint` and `nuint` behaveasiftheyarealiasesof `System.IntPtr` and `System.UIntPtr`.
334
334
@@ -351,7 +351,9 @@ C# supports the following integral types, with the sizes and value ranges, as sh
0 commit comments