You already know it: using meaningful names for variables, methods, and classes allows you to write more readable and maintainable code.
It may happen that a good name for your business entity matches one of the reserved keywords in C#.
What to do now?
There are tons of reserved keywords in C#. Some of these are
Some of these names may be a good fit for describing your domain objects or your variables.
Talking about variables, have a look at this example:
var eventList = GetFootballEvents(); foreach(var event in eventList)
That snippet will not work, since
event is a reserved keyword.
You can solve this issue in 3 ways.
You can use a synonymsuch as
var eventList = GetFootballEvents(); foreach(var action in eventList)
But, you know, it doesn’t fully match the original meaning.
You can use the
my prefixlike this:
var eventList = GetFootballEvents(); foreach(var myEvent in eventList)
But… does it make sense? Is it really? your event?
The third way is by using the
var eventList = GetFootballEvents(); foreach(var @event in eventList)
That way, the code is still readable (even though, I admit, that @ is a bit weird to see around the code).
Of course, the same works for every keyword, like
@publicand so on
If you are interested in a list of reserved keywords in C#, have a look at this article:
This article first appeared on Code4IT
It’s a tiny tip, but it can help you write better code.