<p>I've been working with some C# legacy code and I've been seeing a lot of @ symbols in front of variable names. What does this signify or do?</p>

<p>Currently I'm seeing it a lot in front of variables with common names that aren't reserved. E.g.:</p>

<pre><code>MyProcedure(@step.LoadInstanceId, @step.ResultCode, @step.StatusCode);
</code></pre>

<p>Given that step isn't a reserved word, is there any reason that they should be escaped?</p>

It's just a way to allow declaring reserved keywords as vars.
```
```
void Foo(int @string)
```
```