Updated C# and .NET docs supplement (markdown)

James Groom 2023-03-16 11:13:05 +10:00
parent dbf240ea3b
commit 61e310449a
1 changed files with 1 additions and 1 deletions

@ -45,7 +45,7 @@ Notice also the default window icon (`Form.Icon`): on Windows, it's a distinct i
There are two types of casts in C#: the C-style `(T) o` throws if the object is not of the desired type, whereas `o as T` evaluates to `null` if it's not of the desired type. There's no '?' in this `null`-producing operator (this is probably only confusing if you use Kotlin).
If an object being the wrong type is *exceptional*—the method can't handle it gracefully—then throw an *exception* straight away. Having it reported as an NRE when there's no `null` in sight just delays debugging the problem.
If an object being the wrong type is *exceptional*—the method can't handle it gracefully—then throw a type cast *exception* straight away. Having it reported as an NRE when there's no `null` in sight just frustrates debugging efforts.
## Type constraints (`where` clauses)