What does null! statement mean?

What does null! statement mean?

I've recently seen the following code:

I've recently seen the following code:

public class Person
{
    //line 1
    public string FirstName { get; }
    //line 2
    public string LastName { get; } = null!;
    //assign null is possible
    public string? MiddleName {get; } = null;

public Person(string firstName, string lastName, string middleName)
{
    FirstName = firstName;
    LastName = lastName;
    MiddleName = middleName;
}

public Person(string firstName, string lastName)
{
    FirstName = firstName;
    LastName = lastName;
    MiddleName = null;
}

}

Basically I try to dig into new c# 8 features. One of them is NullableReferenceTypes. Actually there're a lot of articles and information about it already. E.g. this article is quite good. But I din't find any information about this new statement null! Can someone provide to me explanation for it ? Why I need to use this ? And what is difference between line1 and line2 ?

Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

Brave, Chrome, Firefox, Opera or Edge: Which is Better and Faster?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

Variable Introduction in C#[Bangla]

LIKE | COMMENT | SHARE | SUBSCRIBE A variable is nothing but a name given to a storage area that our programs can manipulate. Each variable in C# has a speci...

Taking Input From User In C#[Bangla]

LIKE | COMMENT | SHARE | SUBSCRIBE In C#, the simplest method to get input from the user is by using the ReadLine() method of the Console class. However, Rea...