The Nameof Expression in C#

This tutorial will discuss the uses of the nameof expression in C#.

the nameof Expression in C

The nameof expression gets the name of a variable, a data type, a field, or a member in C#. The nameof expression takes an artifact as an input and returns the name of that particular artifact in string format. It is illustrated in the code example below.

using System;

namespace nameof_operator
{
    class Program
    {
        static void Main(string[] args)
        {
            int number = 15;
            Console.WriteLine(nameof(number));
            Console.WriteLine(nameof(System.Int32));
            Console.WriteLine(nameof(nameof_operator));
        }
    }
}

Output:

number
Int32
nameof_operator

We printed the name of a variable, a data type, and a namespace with the nameof expression in C#. The nameof expression gets evaluated during the compile-time and does not affect the processing speed during run-time. The nameof expression’s main use is in the argument checking for ArgumentException and anything related to it. For example, if we have a variable named data and we are displaying a message saying that the data variable is not initialized if it is null. It will work just fine in a conventional program, but if we change the name of the data variable to the input variable, we also have to change the output message. This scenario can be elegantly handled with just a single nameof expression, as shown in the coding example below.

public string getData(int data) 
{
    if(data == null) 
    {
        throw new ArgumentNullException(nameof(data));
    }
}

Now we don’t have to worry about changing a lot of code to rename our data variable to something else.

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

Related Article - Csharp Keyword

  • Java Final Equivalent Keyword in C#