Tôi muốn chỉ định một mã xml vào một biến chuỗi. Tôi có thể làm điều này mà không cần thoát khỏi dấu nháy đơn hoặc kép bằng cách sử dụng dấu ba trong python. Có cách nào tương tự để thực hiện điều này trong F # hoặc C# không?điều gì đó giống như dấu ngoặc kép của python trong F # (hoặc C#)?
Trả lời
Theo tôi biết, không có cú pháp tương ứng với điều này trong C#/F #. Nếu bạn sử dụng @"str"
thì bạn phải thay thế báo giá bằng hai dấu ngoặc kép và nếu bạn chỉ sử dụng "str"
thì bạn cần phải thêm dấu gạch chéo ngược.
Trong mọi trường hợp, có một số mã hóa của "
:
var str = @"allows
multiline, but still need to encode "" as two chars";
var str = "need to use backslahs \" here";
Tuy nhiên, điều tốt nhất để làm khi bạn cần phải nhúng chuỗi lớn (chẳng hạn như dữ liệu XML) vào ứng dụng của bạn có lẽ là để sử dụng. Tài nguyên NET (hoặc lưu trữ dữ liệu ở một nơi khác, tùy thuộc vào ứng dụng của bạn). Nhúng các chuỗi ký tự lớn trong chương trình thường không được khuyến nghị lắm. Ngoài ra, có used to be a plugin để dán XML làm cây tạo các đối tượng cho C#, nhưng tôi không chắc liệu nó có tồn tại hay không.
Mặc dù, tôi cá nhân sẽ bỏ phiếu để thêm """
như đã biết từ Python sang F # - nó rất hữu ích, đặc biệt là cho tương tác kịch bản.
Thnx Tomas. Tôi chỉ muốn quản lý nhiều tập tin xml "ngắn" dễ dàng bằng cách nhúng. Tôi nghĩ rằng tôi nên sử dụng singe-quote cho các thuộc tính XML. BTW, tôi đọc sách của bạn. Thật tuyệt vời. –
@tk: Cảm ơn! Vâng, tôi nghĩ rằng việc nhúng các chuỗi không phải là "tà ác" như các hướng dẫn nói ... –
Trong C# cú pháp là @"some string"
Trông giống như chuỗi thô được trích dẫn ba lần. –
Bạn vẫn cần mã hóa '" 'trong chuỗi, do đó, điều này không thực sự tương đương với cú pháp' "" "của Python. –
Như shoosh nói, bạn muốn sử dụng literals chuỗi đúng nguyên văn trong C#, nơi mà các chuỗi bắt đầu với @ và được bao trong dấu ngoặc kép. Ngoại lệ duy nhất là nếu bạn cần phải đặt một dấu ngoặc kép trong chuỗi, trong trường hợp này bạn cần phải tăng gấp đôi nó
System.Console.WriteLine(@"Hello ""big"" world");
sẽ ra
Hello "big" world
F # 3.0 hỗ trợ chuỗi được trích dẫn ba lần. Xem Visual Studio F# Team Blog Post on 3.0 features.
Các F# 3.0 SpecStrings và Nhân vật phần đặc biệt đề cập đến kịch bản XML:
Một chuỗi ba trích dẫn được quy định bằng cách sử dụng ba dấu ngoặc kép ("" ") để đảm bảo rằng một chuỗi bao gồm một hoặc nhiều chuỗi thoát được diễn giải nguyên văn. Ví dụ: chuỗi được trích dẫn ba lần có thể được sử dụng để nhúng các đốm màu XML:
- 1. Có cái gì đó giống như Python 'với' trong C#?
- 2. Sự khác nhau giữa việc sử dụng dấu ngoặc kép và dấu ngoặc kép trong python
- 3. Python - Sử dụng dấu ngoặc kép bên trong dấu ngoặc kép
- 4. chuỗi python '"': dấu ngoặc kép đơn bên trong chuỗi
- 5. Dấu ngoặc kép trong VBA
- 6. Excel (2007) VBA - .Formula với dấu ngoặc kép trong đó
- 7. Có điều gì đó giống như __LINE__ trong Verilog không?
- 8. Có điều gì đó giống như find_if trong Java không?
- 9. Có điều gì đó giống như trang trí python cho C#?
- 10. Xóa dấu ngoặc kép trong JSONObject
- 11. thoát dấu ngoặc kép trong chuỗi
- 12. Thay thế dấu ngoặc kép trong Javascript?
- 13. Có điều gì đó giống như Codecademy cho Java
- 14. dấu ngoặc kép blockquote style
- 15. dấu ngoặc kép khác nhau MySQL của
- 16. dấu ngoặc kép làm tổ trong bash
- 17. Làm cách nào để in dấu ngoặc kép trong C?
- 18. Ý nghĩa của dấu nháy đơn so với dấu ngoặc kép trong so sánh là gì?
- 19. Biến tĩnh PHP trong dấu ngoặc kép
- 20. Bất cứ điều gì giống như C# params trong c + +?
- 21. Ý nghĩa của cặp dấu ngoặc kép khởi tạo C-struct là gì?
- 22. mô-đun Python CSV - dấu ngoặc kép đi mất tích
- 23. web.config và dấu ngoặc kép trong connectionStrings
- 24. Cách thay thế dấu ngoặc kép thẳng (")
- 25. Sử dụng dấu ngoặc kép đơn và kép cho href
- 26. Đối số argparse Python với dấu ngoặc kép
- 27. Javascript: Chia một chuỗi bằng dấu phẩy nhưng bỏ qua dấu phẩy trong dấu ngoặc kép
- 28. Có điều gì đó giống như bpython cho Ruby không?
- 29. Cụm từ thông dụng phù hợp giữa dấu ngoặc kép, có dấu ngoặc kép thoát
- 30. Dấu ngoặc kép thoát trong PHP
Có vẻ như dấu ba chấm ngs đang tìm đường vào F # 3.0. –