2011-09-29 113 views

回答

1
Regex.Escape("foo\nbaa\ttest") 
+0

+1打我幾秒鐘! –

+0

@Ahmad我看到了,但你有一個更完整的答案。 –

3

查看Can I convert a C# string value to an escaped string literal的回答。他寫了這個擴展方法,做你想要什麼:

static string ToLiteral(string input) 
{ 
    var writer = new StringWriter(); 
    CSharpCodeProvider provider = new CSharpCodeProvider(); 
    provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, null); 
    return writer.GetStringBuilder().ToString(); 
} 
0

綜觀普遍的問題 - 重建一些源代碼 - 沒有對C#沒有語言選項,它可以讓你這樣做自動的。

但是(這是我的理論),您應該可以使用表達式來達到IL等效(可能使用Reflection.EmitMono.Cecil庫)。您可以懷疑然後使用ILSpy項目的庫重建C#。