基本用法打印变量名称

nameof 运算符允许你以字符串形式获取变量,类型或成员的名称,而无需将其硬编码为文字。该操作在编译时进行评估,这意味着你可以使用 IDE 的重命名功能重命名引用的标识符,并且名称字符串将随之更新。

var myString = "String Contents";
Console.WriteLine(nameof(myString));

会输出

MyString 的

因为变量的名称是 myString。重构变量名将改变字符串。

如果在引用类型上调用,nameof 运算符将返回当前引用的名称,而不是基础对象的名称或类型名称。例如:

string greeting = "Hello!";
Object mailMessageBody = greeting;

Console.WriteLine(nameof(greeting)); // Returns "greeting"
Console.WriteLine(nameof(mailMessageBody)); // Returns "mailMessageBody", NOT "greeting"!