What is nameof operator?

๐Ÿ’ก Concept: nameof Operator in C#

The nameof operator returns the string name of a variable, type, or member, enhancing refactoring and readability.

๐Ÿ“˜ Quick Intro

Instead of hardcoding string literals, nameof provides compile-time safety for names.

๐Ÿง  Analogy

Like asking for someone's name instead of guessing, ensuring accuracy.

๐Ÿ”ง Technical Explanation

  • Returns the name of variables, methods, properties as strings.
  • Helps avoid magic strings.
  • Useful in logging, exception handling, and notifications.
  • Evaluated at compile-time, so no runtime overhead.
  • Supported since C# 6.0.

๐ŸŽฏ Use Cases

  • โœ… Logging method or property names.
  • โœ… Raising PropertyChanged events.
  • โœ… Exception messages referring to member names.
  • โœ… Code refactoring and maintenance.

๐Ÿ’ป Code Example


string propertyName = nameof(MyProperty);
Console.WriteLine(propertyName); // Outputs: MyProperty

public string MyProperty { get; set; }

โ“ Interview Q&A

Q1: What is nameof operator?
A: Returns the name of a variable/member as string.

Q2: Why use nameof instead of string literals?
A: Compile-time safety and refactoring support.

Q3: Since which C# version is nameof available?
A: Since C# 6.0.

Q4: Does nameof have runtime cost?
A: No, it's evaluated at compile-time.

Q5: Can nameof be used with expressions?
A: No, only identifiers.

Q6: Is nameof case sensitive?
A: Yes.

Q7: Can nameof be used with types?
A: Yes.

Q8: Is nameof helpful in logging?
A: Yes, it avoids hardcoded strings.

Q9: Does nameof throw exceptions?
A: No.

Q10: Can nameof be used with local variables?
A: Yes.

๐Ÿ“ MCQs

Q1. What does nameof operator return?

  • Value
  • Type
  • Name as string
  • Reference

Q2. Why prefer nameof over string literals?

  • Performance
  • Compile-time safety
  • Readability
  • Security

Q3. Since which C# version is nameof available?

  • C# 5.0
  • C# 6.0
  • C# 7.0
  • C# 8.0

Q4. Does nameof have runtime overhead?

  • Yes
  • No
  • Sometimes
  • Rarely

Q5. Can nameof be used with expressions?

  • Yes
  • No
  • Maybe
  • Sometimes

Q6. Is nameof case sensitive?

  • No
  • Yes
  • Depends
  • Maybe

Q7. Can nameof be used with types?

  • No
  • Yes
  • Maybe
  • Sometimes

Q8. Is nameof helpful in logging?

  • No
  • Yes
  • Maybe
  • Rarely

Q9. Does nameof throw exceptions?

  • Yes
  • No
  • Sometimes
  • Never

Q10. Can nameof be used with local variables?

  • No
  • Yes
  • Maybe
  • Sometimes

๐Ÿ’ก Bonus Insight

The nameof operator reduces errors and improves code maintainability by avoiding magic strings.

๐Ÿ“„ PDF Download

Need a handy summary for your notes? Download this topic as a PDF!

๐Ÿ” Navigation

Learn More About C# ๐Ÿ“š

1. What is C#? ๐Ÿ‘‰ Explained
2. Main Features of C# ๐Ÿ‘‰ Explained
3. Difference Between C# and Java ๐Ÿ‘‰ Explained
4. Common Language Runtime (CLR) in C# ๐Ÿ‘‰ Explained
5. Common Type System (CTS) in C# ๐Ÿ‘‰ Explained
6. Common Language Specification (CLS) in C# ๐Ÿ‘‰ Explained
7. Value Types vs Reference Types in C# ๐Ÿ‘‰ Explained
8. What is a Namespace in C#? ๐Ÿ‘‰ Explained
9. Purpose of the 'using' Keyword in C# ๐Ÿ‘‰ Explained
10. Different Data Types in C# ๐Ÿ‘‰ Explained
11. Difference Between int and Int32 in C# ๐Ÿ‘‰ Explained
12. Difference Between float, double, and decimal in C# ๐Ÿ‘‰ Explained
13. What is the Default Value of a Boolean in C#? ๐Ÿ‘‰ Explained
14. What is Boxing and Unboxing in C# ๐Ÿ‘‰ Explained
15. What are the Different Types of Operators in C# ๐Ÿ‘‰ Explained
16. Difference Between Equals and == in C# ๐Ÿ‘‰ Explained
17. What is the Null-Coalescing Operator ?? in C# ๐Ÿ‘‰ Explained
18. What is the Ternary Operator in C# ๐Ÿ‘‰ Explained
19. How Does the Switch Statement Work in C# ๐Ÿ‘‰ Explained
20. What is Object-Oriented Programming in C# ๐Ÿ‘‰ Explained
21. What are the Four Pillars of OOP in C# ๐Ÿ‘‰ Explained
22. What is Encapsulation in C# ๐Ÿ‘‰ Explained
23. What is Inheritance in C# ๐Ÿ‘‰ Explained
24. What is Polymorphism in C# ๐Ÿ‘‰ Explained
25. What is Abstraction in C# ๐Ÿ‘‰ Explained
26. What is an Abstract Class in C# ๐Ÿ‘‰ Explained
27. What is an Interface in C# ๐Ÿ‘‰ Explained
28. Can a Class Implement Multiple Interfaces in C#? ๐Ÿ‘‰ Explained
29. Difference Between Abstract Class and Interface in C# ๐Ÿ‘‰ Explained
30. How Do You Create a Class in C#? ๐Ÿ‘‰ Explained
31. What is a Constructor in C# ๐Ÿ‘‰ Explained
32. What Are the Types of Constructors in C# ๐Ÿ‘‰ Explained
33. What is a Static Constructor in C# ๐Ÿ‘‰ Explained
34. Difference Between Static and Non-Static Members in C# ๐Ÿ‘‰ Explained
35. What is the Use of 'this' Keyword in C# ๐Ÿ‘‰ Explained
36. What is a Destructor in C# ๐Ÿ‘‰ Explained
37. What is Object Initializer Syntax in C# ๐Ÿ‘‰ Explained
38. What is the Difference Between Field and Property in C# ๐Ÿ‘‰ Explained
Share:

Tags:


Feedback Modal Popup