Abstract classes, 357
Aggregation, 345
Asynchronous streams, 854, 870, 872, 874
await using
statement, 874
Buffer overflows, 110
Constraints, 561
Constructor overloading, 300
Delegate invocation, 630
Index from end operator, 99, 107, 108, 110, 112, 118
Interfaces
vs. abstract classes, 414
implementation, 377, 379–380, 386, 413–414
is
operator, 365
is
{ } property pattern, 157
.NET frameworks, 41
Non-nullable reference types, 293
Null assignment for reference types, 70–71
Null-coalescing assignment, 155, 158
Null-forgiving operator, 634
Nullable reference types
default values, 548
nullable
modifier, 84
Pattern matching types, 366, 368
Positional pattern matching, 369
Property matching, 371
Read-only struct members, 423
Reverse accessing arrays, 100
String interpolation, 61
Task-based Asynchronous Pattern, 863
Unmanaged constraints, 560
using
statement, 499
18.223.160.61