Cách bao gồm dấu ngoặc kép trong một chuỗi


Câu trả lời:


162

Thoát khỏi chúng bằng dấu gạch chéo ngược.

"I want to learn \"C#\""

Hướng dẫn tài liệu tham khảo hữu ích: msdn.microsoft.com/en-us/library/ms228362.aspx
S. Lott

2
bạn không thể sử dụng nhiều "" "khi định dạng một chuỗi String.Format (" <E> <A KH=\"{0}\" ID=\"{1}\"/> <C> <T ID = \ " {2} \ "SID = \" {3} \ "> <LP = \" {4} \ "N = \" {5} \ "/> </T> </C> </E>", params) sẽ không hoạt động với nhiều dấu ngoặc kép. Vui lòng sử dụng câu trả lời được đánh dấu chính xác này và làm quen với thói quen làm điều đó.
New Bee

@ANeves công bằng khi nói rằng @newbee đã sai và có một ví dụ phản bác lại Làm việc: string ok = string.Format(@"""{0}"" = {1}", "yes", true);nhưng đừng liên kết đến những bức ảnh ngu ngốc không liên quan làm lãng phí thời gian của mọi người. Đây là một trang web kỹ thuật
barlop

82

Ngoài việc thoát các dấu ngoặc kép có dấu gạch chéo ngược, hãy xem SO câu hỏi 2911073 giải thích cách bạn có thể sử dụng dấu ngoặc kép trong một chuỗi @ -prefixed:

string msg = @"I want to learn ""c#""";

Tôi cần điều này trong logic thay thế của tôi. string nullHideDecimal = @ "<HideDecimal i: nil =" "true" "/>"; và sau đó dataContractXML = dataContractXML.Replace (nullHideDecimal, "<HideDecimal> 0 </HideDecimal>");
Ziggler

20

Tôi sử dụng:

var value = "'Field1','Field2','Field3'".Replace("'", "\""); 

trái ngược với tương đương

var value = "\"Field1\",\"Field2\",\"Field3\"";

Bởi vì cái trước có ít tiếng ồn hơn cái sau, giúp bạn dễ dàng nhìn thấy lỗi đánh máy, v.v.

Tôi sử dụng nó rất nhiều trong các bài kiểm tra đơn vị.


Tôi thích cách của bạn.
Mahdi-Malv

13
string str = @"""Hi, "" I am programmer";

OUTPUT - "Xin chào", tôi là lập trình viên


Liên kết đã bị đánh lừa qua mạng
Ross Anderson

4

Sử dụng các ký tự thoát cho mã này ví dụ:

var message = "I want to learn \"c#\"";
Console.WriteLine(message);

sẽ xuất:

Tôi muốn học "c #"


0

Bạn cũng có thể khai báo một hằng số và sử dụng nó mỗi lần. gọn gàng và tránh nhầm lẫn:

const string myStrQuote = "\"";

-1

Mật mã:

string myString = "Hello " + ((char)34) + " World." + ((char)34);

Đầu ra sẽ là:

Chào thế giới."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.