That's down to C# and how it handles strings with backslashes in them. Try this:
string old = @"H:\app\new\data\";
Or:
string old = "H:\\app\\new\\data\\";
To remove compiler errors, then (if you really need to do this, and I doubt if you do:
string new = Regex.Replace(old,@"\",@"\\");
Backslach is a special character in C# string: it acts as an "escape" character to allow you to enter spacial values such as
double quote \"
backslash \\
newline \n
and so forth.
When VS shows strings containing a genuine single backslash, it shows it as two to indicate that it is escaped and not a part of the following character.