What's the use/meaning of the @ character in variable names in C#?

Solution 1:

Straight from the C# Language Specification, Identifiers (C#) :

The prefix "@" enables the use of keywords as identifiers, which is useful when interfacing with other programming languages. The character @ is not actually part of the identifier, so the identifier might be seen in other languages as a normal identifier, without the prefix. An identifier with an @ prefix is called a verbatim identifier.

Solution 2:

It just lets you use a reserved word as a variable name. Not recommended IMHO (except in cases like you have).