Slide 33
Slide 33 text
Slides by @arghrich
Dealing with Absence in C#8
40
1. // bad, does not compile
2. string? address = FindAddress(personId).Street;
3. // good, uses null-propagating operator
4. string? address = FindAddress(personId)?.Street;
Explicit
Model absence
Scala, Kotlin, F#, C#
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/null-checking-preferences
5. // maybe better, uses null-coalescing operator for default
6. string address = FindAddress(personId)?.Street ?? "Konstitucijos Av. 20â;
7. // maybe better, uses null-coalescing assignment operator for default
8. string? address = FindAddress(personId)?.Street;
9. address ??= "Konstitucijos Av. 20â;
10.// good, use pattern matching is null check
11.if(address is null) {/*âŠ*/}
12.if(address is not null) {/*âŠ*/}