C Sharp: Difference between revisions
Jump to navigation
Jump to search
Line 28: | Line 28: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Bad code is highlighted a compile time with CS8618 Non-nullable property and via intellisence | Bad code is highlighted a compile time with CS8618 Non-nullable property and via intellisence. | ||
You and enable and restore this feature on a file basis using '''#nullable enable''' and '''nullable restore'' | |||
==Pattern Matching== | ==Pattern Matching== |
Revision as of 00:45, 10 August 2020
C# 8.0 and .Net Core 3.0
Intro
Here is the history of C#
- 2.0 included generics
- 3.0 Added Linq with Lambda and anonymous types
- 4.0 Added Dynamics
- 5.0 Added Async and Await
- 6.0 Added Null propagating operator (targer?.IsActive ?? false;
- 7.0 Expressions and Tuples
C# 8.0 brings
- Nullable Reference Types
- Pattern Matching
- Indices and Ranges
- Built-in Json Support
- Windows Desktop Support
- Build and Deploy Improvements
- Other Language Improvements
- Other .NET Core Platform Improvements
Nullable Reference Types
This allows you to specify a possibility of null. e.g.
class
{
public string? Title {get; set;}
public List<Comment> Title {get;} = new List<Comment>();
}
Bad code is highlighted a compile time with CS8618 Non-nullable property and via intellisence.
You and enable and restore this feature on a file basis using #nullable enable' and nullable restore
Pattern Matching
class
{
public string? Title {get; set;}
public List<Comment> Title {get;} = new List<Comment>();
}