Tôi có thể thoát khỏi một trích dẫn kép trong một chuỗi nguyên văn không?


534

Trong một chuỗi nguyên văn (@ "foo") trong C #, dấu gạch chéo ngược không được coi là thoát, do đó, \ "để có được một trích dẫn kép không hoạt động. Có cách nào để có được một trích dẫn kép trong một chuỗi nguyên văn ?

Điều này dễ hiểu không hoạt động:

string foo = @"this \"word\" is escaped";

Câu trả lời:


870

Sử dụng một trích dẫn kép trùng lặp.

@"this ""word"" is escaped";

đầu ra:

this "word" is escaped

Tôi đang cố gắng sử dụng @ Html.Raw () và trích dẫn tăng gấp bốn lần phá vỡ chuỗi của tôi
JoshYates1980

1
Bạn có thể sử dụng nó mà không cần chuỗi ký tự? Có vẻ như Html.Raw () sẽ đảm bảo đảm bảo đó là một chuỗi cho bạn ...
Myles

2
Cũng có thể sử dụng nó kết hợp với phép nội suy chuỗi : $@"this ""{wordVar}"" is escaped";.
fdelia

113

Sử dụng dấu ngoặc kép.

string foo = @"this ""word"" is escaped";

95

Để thêm một số thông tin, ví dụ của bạn sẽ hoạt động mà không có @ký hiệu (nó ngăn thoát với \), theo cách này:

string foo = "this \"word\" is escaped!";

Nó sẽ hoạt động theo cả hai cách nhưng tôi thích kiểu trích dẫn kép để nó hoạt động dễ dàng hơn, ví dụ, với tên tệp (có nhiều \ trong chuỗi).


81

Điều này sẽ giúp làm sáng tỏ bất kỳ câu hỏi mà bạn có thể có: c # chữ

Đây là bảng từ nội dung được liên kết:

nhập mô tả hình ảnh ở đây

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.