Microsoft announced a new Foundational C# certification in collaboration with FreeCodeCamp. The Foundational C# certification is completely free for individuals in all regions. The certification includes a 35-hour C# training course hosted on Microsoft Learn and requires completing an 80-question C# certification exam. It's very interesting for those who want to start developing programming skills in C#. This is a great choice, as after completing this certification, you will acquire all the essential C# programming skills and learn tips and tricks. 

Free Microsoft Certification : C#

Without further delay, let's get started, and I will guide you through the certification process step by step.

Create an Account in the Microsoft Learn:

Creating an account on the Microsoft Learn website is a straightforward process, if you already have a Microsoft account, you can ignore all the steps. Microsoft Learn is a platform that offers a wide range of free learning resources, track certification, tutorials, and documentation for various Microsoft technologies and products. Here's a step-by-step guide on how to create an account:

Visit the Microsoft Learn Website: 

Go to the Microsoft Learn website by entering the following URL in your browser's address bar -

Choose a Microsoft Account or Create One: 

You'll be presented with two options: sign in with an existing Microsoft account (if you have one), or create a new Microsoft account. If you already have a Microsoft account, enter your credentials and proceed to sign in. If not, click on the option to create a new account, Here you can use any of Hotmail email IDs or create a Microsoft account using any other account like Gmail.

Create an Account in the Microsoft Learn

Microsoft will typically send a verification code to the email address you provided. Check your email inbox for a message from Microsoft and follow the instructions to verify your email. After verifying your email, you may need to provide additional information or agree to terms and conditions. Follow the on-screen instructions to complete the sign-up process.

Complete C# Self Learning Course in Microsoft Learn:

After successfully logging in, you can navigate to the following link: and complete Parts 1 through Part 6 of the Learn path while pursuing the Microsoft certification. 

Go beyond certification! Take the C# Challenge and compare your learning journey with global peers. The challenge begins on August 29th! Register here:

Create an Account with FreeCodeCamp:
FreeCodeCamp is a platform that offers free coding courses and tutorials. To create an account on the FreeCodeCamp website, Microsoft and Freecodecamp collaborated with the Provide More Efficient certificate You can follow these steps:

Visit the FreeCodeCamp Website:

Go to the FreeCodeCamp website by entering the following URL in your browser's address bar:

On the FreeCodeCamp homepage, you'll typically find a "Sign in" or "Get Started (For Free)" button. Click on it.

Signup :

FreeCodeCamp usually offers a few sign-up methods, including signing up with your email address or using a social media account like GitHub.

Complete Your Profile :

After signing up, you may have the option to complete your profile by adding additional information such as your name, profile picture, and bio. This step is usually optional.

Create an Account with FreeCodeCamp

Earn Your Microsoft Certification:

Step 1: Go to the Foundational C# Certification path on freeCodeCamp. Here you’ll find the training content under Courses. Press Expand course to find all the modules within each course.

Earn Your Microsoft Certification

Step 2 : Click on each module in the course to find the link to the training content for that module.

Earn Your Microsoft Certification

Step 3: Complete the training content on Microsoft Learn. (Note: If you have previously completed the training content, you do not need to redo it)

A screenshot of a computer

Description automatically generated

Once you are done, complete the comprehension check question on freeCodeCamp.

  • Step 4: At the end of each course Module, you will receive a Trophy on Microsoft Learn. To complete this challenge, you must first link your Microsoft username to your freeCodeCamp account by following these instructions
      1. Using a browser where you are logged into your Microsoft account, go to
      2. Find and click the "Share link" button.
      3. If you do not have a transcript link, click the "Create link" button to create one.
      4. Click the "Copy link" button to copy the transcript URL.
      5. Paste the URL into the input below, it should look similar to this:
      6. Click "Link Account" to link your Microsoft username.

Free Microsoft Exam

Unable to Verify Trophy in Microsoft Platform :

If any one of you has been unable to verify the trophy in the Microsoft platform and also internet seen many of the reports saying I was collecting my first trophy in the new Freecodecamp X Microsoft Foundational C# with Microsoft and I'm getting 500 status code when I try to connect my freecodecamp account to my Microsoft account to collect the trophy

Unable to Verify Trophy in Microsoft Platform

Issue Fix with the following steps :
This issue is because not every module has been completed. Before clicking on the trophy, ensure that you not only answer the questions correctly on FreeCodeCamp but also make sure that you have completed all the training modules on Microsoft Learn, and each section should have a green checkmark.

500 status code when I try to connect my freecodecamp account to my Microsoft account

Certification Day:
Once you have completed all six learning modules and earned six trophies from FreeCodeCamp, you are now eligible to take the Microsoft C# examination for free.

The exam consists of 80 questions, and you should complete it without closing the browser. The questions are based on the fundamental concepts you've learned in the six modules. After completing the exam, you will feel confident in your C# skills, and you can consider yourself a C# Guru. Enjoy the experience, and I wish you the very best of luck. I hope my article helps you navigate the examination process without confusion. Once again, best of luck!

Free Microsoft Certification : C#
Global usings were introduced in C# 10 and .NET Core 6.0 and later versions. This feature proves to be highly beneficial as it allows you to incorporate commonly used namespaces. As a developer, the emphasis is often on code reusability and maintaining clean, organized code.

Visual Studio 2022: C# Global Namespace

Global usings contribute significantly to achieving this goal. By employing global usings, there's no necessity to redundantly add the same namespace to every class file.

Determine the namespaces that are frequently used throughout your project and can be considered as candidates for global usings. These namespaces should be relevant and consistent across different parts of your codebase.

UI for Global Namespace in VS 2022:

Global namespaces UI screens are only available in the latest version of Visual Studio 2022. This feature is not present in earlier versions such as VS 2019 and VS 2022 for Mac. It allows you to define namespaces globally for your project, minimizing the need to repeatedly include the same namespaces in multiple class files. You can follow the below steps to implement Global name space in VS 2022 
  • Open your project in Visual Studio 2022, Here I have created a new MAUI application
  • Right-click on the project's  .csproj  file within the Solution Explorer.
  • Choose "Property" from the context menu.
As per the below screen Select below Global using and add your global usings and alias name

UI for Global Namespace in VS 2022

If you are using Visual Studio 2019 or an earlier version where the mentioned UI is not available, you can implement global use in your project by following the steps below.

Global Usings File for  VS 2019 and VS 2022 for Mac:
In C# 10 and .NET Core 6.0 or later, create a file named "GlobalUsings.cs" (or any appropriate name) in your project. Inside this file, use the "global" keyword followed by the "using" directives for the namespaces you want to make globally accessible. For example:

Accessing Namespaces
Once you've set up the global usings, any class file within your project can directly access the namespaces specified in the "GlobalUsings.cs" file. You won't need to explicitly include these namespaces in every individual class file that uses them.

For instance, if you've declared System.IO in your global usings, you won't need to include using System.IO; in each class file that utilizes file-related functionality from the System.IO namespace.

I hope this article has provided you with valuable insights into Global Usings in Visual Studio 2022 and the Global Using file. If you have any questions or queries about global namespaces, please feel free to leave a comment in the designated comment section. I'll do my best to address and answer your inquiries.

In this article, we will discuss Microsoft introduced new types DateOnly and TimeOnly in C# and examine the unique functionalities offered by each, and assist in determining the suitable choice for different scenarios.

DateOnly and TimeOnly are value types introduced in .Net 6. These types are part of the .net Date and Time and offer unique advantages over using traditional DateTime for specific use cases that require working with only dates or times without the associated time zone information.

DateOnly And TimeOnly Types In  -.NET Core


Use DateOnly when you need to work with dates exclusively, without any time information. Examples of this include handling birthdays, anniversaries, and event dates.

For example, if you were to gather DOB from users, the optimum data type would be Date only as you wouldn't need timezone information and would only need the date, year, and month.
DateOnly And TimeOnly Types In .NET 6 -.NET Core

It allows you to work with dates precisely, ensuring that only the date information is considered without any ambiguity introduced by the time portion.

Here's how you can use DateOnly:


Use TimeOnly when you require time values without any date information. Examples include representing opening/closing times, countdowns, and scheduling alarms.

DateOnly And TimeOnly Types In .NET 6 -.NET Core

Consider assigning variable check-in and check-out information during this period without requiring any date information. Since this information is more time-specific, we can use a TimeOnly type in this situation. It enables you to properly manipulate time values and saves you from having to deal with date information unnecessarily.

Here's how you can use TimeOnly:

Benefits of using DateOnly and TimeOnly

  • Clarity and Safety: These types provide clear and explicit representations of date and time values, reducing the risk of errors caused by time zone conversions and date/time mix-ups.
  • Immutability: DateOnly and TimeOnly are immutable types, meaning their values cannot be changed after creation. This helps prevent unintended modifications to date and time values.
  • Compact Storage: These types take up less memory compared to DateTime because they don't include time zone information, making them more efficient for certain use cases.
  • Performance: Operations involving only dates or only times can be more performant using DateOnly and TimeOnly, respectively, compared to DateTime.
  • Interoperability: The Date and Time provides easy conversion methods between DateTime, DateOnly, and TimeOnly, allowing seamless integration with existing code that uses DateTime.


In C#, DateTime is a value type and commonly used in all the programming languages, You should use DateTime when you need to work with both date and time components together or when you require time zone information. 

DateTime provides a complete representation of a specific point in time, combining both date and time information along with an optional time zone offset. here you can find some use cases where DateTime is more appropriate than using DateOnly or TimeOnly

Benefits of using DateTime: 

  • Recording Events: When recording events or occurrences that happen at specific points in time, you need both the date and time components. For example, logging the exact timestamp of an event is best done with DateTime.
  • Time Zone Considerations: If you're dealing with events across different time zones or need to perform time zone conversions, DateTime can handle this with its time zone information. DateOnly and TimeOnly don't include time zone support.
  • Calculations Involving Both Date and Time: When performing calculations that involve both date and time components, such as calculating time intervals between two points in time, DateTime is more suitable.
  • Working with External APIs: Many external APIs and libraries work with DateTime objects. If you need to integrate your code with such APIs, using DateTime will simplify the data exchange.
  • Database Interactions: Databases often use DateTime to store date and time values. Using DateTime aligns well with database operations and prevents unnecessary conversions.
  • Serialization and Deserialization: When working with JSON or XML serialization, DateTime is the standard representation for date and time values, making it more compatible with serialization libraries.

Let's make a decision Here

Hope this article will help you, the choice between DateTime, DateOnly, and TimeOnly should be driven by the specific needs of your application.

If your application primarily deals with only dates or times, and you don't require time zone support or date and time together, then DateOnly and TimeOnly can be more appropriate for improved code clarity and safety. However, if you need to represent points in time with both date and time information, DateTime is the suitable choice.

Featured Post

Improving C# Performance by Using AsSpan and Avoiding Substring

During development and everyday use, Substring is often the go-to choice for string manipulation. However, there are cases where Substring c...

MSDEVBUILD - English Channel

MSDEVBUILD - Tamil Channel

Popular Posts