Updated C# and .NET docs supplement (markdown)
parent
65285c3bbb
commit
1081c3ddb0
|
@ -31,7 +31,7 @@ You can only have 1 `default` branch, but `case _ when ...:` doesn't work. Howev
|
||||||
|
|
||||||
## MSBuild `Condition` placement
|
## MSBuild `Condition` placement
|
||||||
|
|
||||||
On (older versions of?) VS, `Condition` is ignored if placed on a property. Create a new `<PropertyGroup/>`.
|
On (older versions of?) VS, `Condition` is ignored if placed on a property/item. Create a new `<PropertyGroup/>`.
|
||||||
|
|
||||||
## MSBuild property evaluation execution order
|
## MSBuild property evaluation execution order
|
||||||
|
|
||||||
|
@ -49,6 +49,13 @@ Use `MSBuildProjectDirectory`. Note that the latter doesn't include a trailing s
|
||||||
.NET will happily include NUL (`(char) 0`) in a string if you use `String..ctor(char[])`.
|
.NET will happily include NUL (`(char) 0`) in a string if you use `String..ctor(char[])`.
|
||||||
WinForms' `Label.Text` stops reading at the first NUL for measurement/rendering, at least under Mono.
|
WinForms' `Label.Text` stops reading at the first NUL for measurement/rendering, at least under Mono.
|
||||||
|
|
||||||
|
## Preprocessor TFM constants and .NET Standard
|
||||||
|
|
||||||
|
The table [here](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives#conditional-compilation) is good for reference, but mind the note hidden at the bottom:
|
||||||
|
> The `NETSTANDARD<x>_<y>_OR_GREATER` symbols are only defined for .NET Standard targets, and not for targets that implement .NET Standard [...]
|
||||||
|
|
||||||
|
That is, you must use `#if !(NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER)` and not just `#if !NETSTANDARD2_1_OR_GREATER`.
|
||||||
|
|
||||||
## `String.GetHashCode` stability
|
## `String.GetHashCode` stability
|
||||||
|
|
||||||
The `GetHashCode` implementation for strings does not reflect the string's contents, and as such, the hash not stable between program instances.
|
The `GetHashCode` implementation for strings does not reflect the string's contents, and as such, the hash not stable between program instances.
|
||||||
|
|
Loading…
Reference in New Issue