2012-03-13 70 views
7

Đây có lẽ là một câu hỏi thực sự đơn giản nhưng tôi không thể có vẻ để có được đầu của tôi xung quanh nó. Tôi cần phải có một chuỗi có chứa \" mà không có nó Tôi đã thử sử dụng @ nhưng nó sẽ không hoạt động, cách duy nhất tôi nghĩ là làm điều này sẽ là sử dụng \u0022 nhưng không muốn trừ khi tôi có thể giúp được điều đó. - string s = "\"\""; // Obviously this doesn't work!Làm thế nào để trích dẫn "(dấu gạch chéo kép) trong một chuỗi chữ?

mong muốn giao diện điều khiển đầu ra - \"\"

Hồ pe này có ý nghĩa.

Cảm ơn!

Trả lời

6

Hãy thử

string s = "\\\"\\\""; 

Bạn phải thoát khỏi dấu xồ nguợc của bạn quá.

Mike

+0

Tôi đã thử rằng tuy nhiên s = "\\\" \\\ "" – Yagzii

1

Sử dụng chuỗi này:

string s = "\\\"\\\""; 
1
Console.WriteLine("\\\"\\\""); 

Chỉ cần đặt một \ trước mỗi nhân vật mà cần phải được in.

4

Tôi nghĩ rằng bạn phải thoát khỏi dấu gạch chéo ngược quá ... vì vậy một cái gì đó như "\\\"\\\"" nên hoạt động, tôi tin.

4

Trong literals chuỗi đúng nguyên văn (@"...") một " trong chuỗi giá trị được mã hoá như "", mà xảy ra cũng là thoát chuỗi chỉ trong chuỗi đúng nguyên văn.

@"\""Happy coding!\"""  // => \"Happy coding!\" 

"\\\"Happy coding!\\\"" // => \"Happy coding!\" 

Lưu ý rằng trong trường hợp thứ 2 (không phải là một chuỗi nguyên văn theo nghĩa đen), một \ là cần thiết trước khi \ các " để thoát khỏi chúng và ngăn chặn ý nghĩa thông thường của họ.

Xem C# string reference để biết thêm chi tiết và ví dụ.

+0

Tôi không biết về chữ đó, cảm ơn! –

1
String s = @"\""\"""; 

ký tự DblQuote sẽ thoát khỏi một nhân vật dblquote thứ hai

Mặc dù để có thể đọc tốt hơn tôi sẽ đi với:

const String DOUBLEQUOTE = """"; 
const String BACKSLASH = @"\"; 

String s = BACKSLASH + DOUBLEQUITE + BACKSLASH + DOUBLEQUOTE; 
1

Trong một chuỗi nguyên văn (một chuỗi bắt đầu với @"") để thoát khỏi dấu ngoặc kép bạn sử dụng dấu ngoặc kép, ví dụ @"Please press ""Ok"".". Nếu bạn muốn làm điều đó với chuỗi nguyên văn thì bạn sẽ làm một cái gì đó như @"\""" (đó là 3 dấu ngoặc kép ở cuối đó).

5

Bạn có thể sử dụng chữ, nhưng bạn cần phải tăng gấp đôi dấu ngoặc kép.

string s = @"\""\"""; 
0

Bạn có thể làm như thế này,

string s = "something'\\\'"; 

Sử dụng một đĩa đơn '' chứ không phải sau đó "" trong chuỗi để làm như vậy.

Các vấn đề liên quan