C# 12's Improved Nullability- What It Means for Your Code and How to Use It


C# 12 is the latest version of the C# programming language, and it comes with a lot of new features and improvements. One of the most notable improvements is the improved nullability feature. In previous versions of C#, nullability was not explicitly expressed, which led to some confusion and errors when working with null values. With the improved nullability feature in C# 12, developers can now explicitly express nullability, which makes code safer and more reliable.

What is Nullability in C#?

Nullability is the ability to assign null values to a variable or parameter. A null value represents the absence of a value. In C# 12, nullability is expressed using a question mark (?) after the type name. For example, if we want to declare a string variable that can be null, we can do it like this.

string? nullableString = null;

In previous versions of C#, the above code would not compile, and we would have to use a nullable type or check for null values manually. With the improved nullability feature, we can now express nullability explicitly, which makes code safer and more readable.

How Does Improved Nullability Help Your Code?

Improved nullability helps your code in several ways. First, it makes your code safer by reducing the risk of null reference exceptions. Null reference exceptions occur when you try to access a null value, and they can be difficult to debug. With improved nullability, you can express nullability explicitly, which makes it easier to avoid null reference exceptions.

Second, improved nullability makes your code more readable. By explicitly expressing nullability, you make it clear to other developers whether a variable or parameter can be null or not. This makes it easier for them to understand your code and write code that works with your code.

Finally, improved nullability helps you write better code. By expressing nullability explicitly, you can avoid unnecessary checks for null values, which can make your code faster and more efficient.

How to Use Improved Nullability in Your Code

To use improved nullability in your code, you need to use C# 12 or later. Once you have C# 12 installed, you can start using improved nullability by adding the question mark (?) after the type name.

Here's an example.

public void DoSomething(string? nullableString)
    if (nullableString != null)

In the above code, we declare a method that takes a nullable string parameter. We then check if the parameter is not null before accessing its Length property. If we had not used improved nullability, we would have had to use a nullable type or check for null values manually.


Improved nullability is a welcome addition to C# 12. By explicitly expressing nullability, we can make our code safer, more readable, and more efficient. If you're using C# 12 or later, be sure to take advantage of improved nullability in your code.

Recommended Free Ebook
Similar Articles