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
@@ -217,7 +217,7 @@ nullable_value_type
217
217
;
218
218
```
219
219
220
-
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*.
220
+
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*.
221
221
222
222
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`.
223
223
@@ -323,7 +323,7 @@ Every simple type has members. Each simple type that is an alias for a predefine
323
323
324
324
Thetypes `nint` and `nuint` arerepresentedbythetypes `System.IntPtr` and `System.UIntPtr`, respectively, andare *not* aliasesforthesetypes. Inthiscontextbeing *representedby* means:
325
325
326
-
- 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.
326
+
- 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.
327
327
- Operationsperformedthrough `dynamic` bindingon `System.IntPtr` and `System.UIntPtr` valuesdonothaveaccesstothe `nint` and `nuint` operators.
328
328
- Inallotherrespects `nint` and `nuint` behaveasiftheyarealiasesof `System.IntPtr` and `System.UIntPtr`.
329
329
@@ -346,7 +346,9 @@ C# supports the following integral types, with the sizes and value ranges, as sh
0 commit comments