C Sharp

From bibbleWiki
Jump to navigation Jump to search

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

Pattern Matching

Indices and Ranges

Built-in Json Support

Windows Desktop Support

Build and Deploy Improvements

Other Language Improvements

Other .NET Core Platform Improvements