medilaser Top 5 Features Of C# 9.0 | Desuvit

As a software connoisseur, you are always looking for the latest updates in programming languages. Well, with some exemplary new features of C# 9.0, Microsoft significantly raised the competition bar. These features are designed to align with the latest framework— .NET 5.

Most of the updated elements allow you to write shorter statements, reducing the required typing of codes. Additionally, they offer several new coding functions to broaden the language functionality.

Get ready to explore the top 5 features of C# 9.0!

1.   Record Types

Portrayed within the concept of object-oriented programming is the idea that objects comprise a clear identity and evolve eventually from a mutable state. Thus, if you want an object to act like a value and be immutable, then a record type is the best choice.

  • Follow our tech founder for more valuable tips, tricks, learning, content and future opportunities

    Follow Here

The record type is a reference type that lets you create immutable objects. It offers synthesized methods that provide value-based semantics for equality. Owing to its immutable nature, you cannot change a record type once it is created. You can use these instead of classes and structs.

The record type is intended to be more like a data than the object.

Record Types

2.   Init-only Properties

Previously, you could only use object initializers if a property was mutable, i.e., the one you could change before or after initializing. Init-only properties address this drawback of object initializers. They provide an opportunity to change the value of a property, but only until the construction ends.

These are properties that you can only set at the initial stage of an object. You only need to replace the ‘set’ accessors with ‘init’ accessors in the property definition to use this feature.

Here’s a code snippet to help you understand the concept of init-only properties better.

Init-only Properties

3.   Improved Pattern Matching

The C# 9.0 introduced multiple improvements in pattern matching, letting you enjoy more functions with ease. The new patterns include Type, Conjunctive, Parenthesized, Disjunctive, Relational, and Negated.

With these new additions, you can check your expressions with ‘and,’ ‘or,’ and ‘not.’ Plus, you can use the less than, more than, and equal to symbols and combine multiple patterns.

  • Your End-To-End Guide To Help You Plan And Build Web Applications

    Here’s the free guide to Answers to all your Web development Queries

    Download Free E -Guide

For instance, here’s a code snippet that shows the use of relational patterns.

Improved Pattern Matching

4.   Top-Level Statement

Another excellent feature of C# 9.0 is the Top-level statement. It helps you eliminate the unnecessary boilerplate in your code. The best part is you can also run a one-line program. Sounds interesting, right? It removes the repetitive definitions and helps improve productivity.

Writing a simple program in previous versions of C# requires a remarkable amount of boilerplate code, as shown below:

In C# 9.0, you can write your main program at the top level instead:

You no longer need to include classes, static methods, blocks, void return types, and more. Features like the static method are automatically generated, eliminating the need to define them in your statement. In order for the top-level feature to work, make sure you have only one entry point (Main method) in the project.

Top-Level Statement

Top-Level Statement 2

5.   Target Typing Improvements

C# 9.0 has introduced a feature wherein you can exclude the type from a new operator. Here, the compiler will itself establish the type from the declaring type. That means you do not need to cast it.

Though a similar feature existed earlier, this version has converted several expressions into target-typed that weren’t guided by their context earlier. Additionally, you can omit the type with the target-type d new expressions if you assign the expression to a clear type.


Earlier below is how the object would be created,

 WeatherStation station = new WeatherStation();


In C# 9.0, we can simplify as below,

 WeatherStation station = new();

6.   Summing Up

With the introduction of a whole new set of exciting features, Microsoft has converted C# into a multi-faceted programming language. According to a survey, 22% of participants used C# as their programming language, making it bag the 11th position out of 34.

  • Call For Free Technical Expert’s Advice

The C# 9.0 brings exemplary features, significantly enhancing the productivity of every coding whiz!

If you are thinking of reaching out to a software development company, then look no further. At Desuvit, we help customers automate business workflows and receive higher productivity and ROI. Contact us to discuss your project more. Let us help you grow your business.

Desuvit is a Norway-born software development company delivering Custom Software Development, Mobile Apps, and Web Applications Development for various verticals and business domains. We offer end-to-end solutions for companies with no software or IT division, Startups, and companies that need to scale their software development efforts but lack the expertise required. We help our clients in growing their businesses so we can grow with them.

Some of the technologies we work with: .Net, Azure, Microservices, Azure functions(Serverless computing), React Native, Flutter, React JS, TypeScript, Angular, NServiceBus, Azure Service Bus, Azure Queues, SQL Service, MySQL, Cosmos DB, etc.

Contact Us Estimate Your Project

Enjoyed this article? Subscribe for more valuable and great content !

Enter your email address below to get new articles with valuable content delivered straight to your inbox, plus special subscriber-only content to help you with your next mobile app or software development project.

By subscribing, you agree with our privacy policy and our terms of service.