Question: > 
> **Possible Duplicate:**  
> 
> [What's the @ in front of a string for .NET?](https://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-for-net) 
> 
> 
> 

I understand using the `@` symbol is like an escape character for a string.

However, I have the following line as a path to store a file to a mapped network drive:

`String location = @"\\192.168.2.10\datastore\\" + id + "\\";`

The above works fine but now I would like to get a string from the command line so I have done this:

`String location = @args[0] + id + "\\";`

The above doesn't work and it seems my slashes aren't ignored. This my command:

`MyProgram.exe "\\192.168.2.10\datastore\\"`

How can I get the effect of the `@` symbol back?

Answer: 
The `@` symbol has two uses in C#.

1. To use a quotes instead of escaping. "\windows" can be represented as @"\windows". "\"John!\"" can be represented @"""John!""".
2. To escape variable names (for example to use a keyword as a parameter name)

private static void InsertSafe (string item, object @lock)
 {
 lock (@lock)
 {
 mylist.Insert(0,item);
 }
 }
If you load from the command line, it will already be escaped for you. This is why your escapes are "ignored" from your perspective. Note that the same is true when you load from config, so don't do this:

```
<add key="pathToFile" value="C:\\myDirectory\\myFile.txt"/>

```

If you do, you end up with double strings, as ".NET" is smart enough to escape thins for you when you load them in this manner.