C#两个双引号

我想在C#中打印两个双引号作为输出。 这该怎么做?

我的意思是输出应该是: "" Hello World ""

 Console.WriteLine("\"\" Hello world \"\""); 

要么

 Console.WriteLine(@""""" Hello world """""); 

如果你想在一个字符串中加上双引号你需要用一个\来转义它们

例如:

 string foo = "here is a \"quote\" character"; 

如果你想输出"" Hello World ""那么你需要:

 string helloWorld = "\"\" Hello World \"\""; output(helloWorld); 

(其中输出是您用于输出的任何方法)

一种方法是逃避报价:

 var greeting = "\"Hello World\""; 

当你想使用你的语言中存在的特殊字符时,在该字符之前添加\,然后特殊字符开始表现为字符串。 在你的情况下使用这样的

 \"Hello word\" 

出局

  "Hello word" 

您可以使用@输出,这将自动转义特殊字符。

 string output = "\"\" Hello World \"\""; string output = @""""" Hello World """""; 

如果你必须经常这样做,并且你希望这在代码中更干净,你可能希望有一个扩展方法。

这是非常明显的代码,但我认为抓住并节省时间仍然很有用。

  ///  /// Put a string between double quotes. ///  /// Value to be put between double quotes ex: foo /// double quoted string ex: "foo" public static string PutIntoQuotes(this string value) { return "\"" + value + "\""; } 

然后你可以在你喜欢的每个字符串上调用foo.PutIntoQuotes()或“foo”.PutIntoQuotes()。

希望这有帮助。

逃避他们:

 Console.WriteLine("\"Hello world\""); 
 Console.WriteLine("\"\"Hello world\"\""); 

反斜杠(’\’)字符在任何’特殊’字符之前,否则将被解释为您的代码而不是要输出的字符串的一部分。 这是一种告诉编译器将其视为字符串的字符部分而不是在C#语言中具有某种目的的字符的方式。

在’普通’双引号之前使用@ -char将导致在这些双引号之间打印每个特殊字符

 string foo = @"foo "bar""; 

在双引号前使用反斜杠: \"

StringBuilder sb = new StringBuilder(); sb.Append("\"Hello World \""); string s = sb.ToString();