我想將一個xml代碼分配給一個字符串變量。 我可以通過在python中使用三引號來避免單引號或雙引號。 在F#或C#中有類似的方法嗎?有點像F#(或C#)中的python三重引號?
回答
一倍據我所知,在C#/ F#中沒有對應的語法。如果你使用@"str"
那麼你必須用兩個引號替換引號,如果你只是使用"str"
那麼你需要添加反斜槓。
在任何情況下,存在"
一些編碼:
var str = @"allows
multiline, but still need to encode "" as two chars";
var str = "need to use backslahs \" here";
然而,當你需要嵌入大的字符串(如XML數據)做的到你的應用的最好的事情可能是使用。 NET資源(或將數據存儲在其他地方,具體取決於您的應用程序)。通常不推薦在程序中嵌入大字符串文字。此外,還有used to be a plugin用於將XML粘貼爲構建用於C#的XElement
對象的樹,但我不確定它是否仍存在。
雖然我個人投票選擇從Python到F#已知的"""
,但它非常有用,尤其是對於交互式腳本。
Thnx Tomas。我只想通過嵌入來輕鬆管理許多「簡短」xml文件。我想我應該使用單引號來表示XML屬性。順便說一句,我讀了你的書。這很棒。 – 2010-05-15 21:57:06
@tk:謝謝!是的,我認爲嵌入字符串並不像指南所說的那樣「邪惡」...... – 2010-05-15 22:34:37
在C#語法@"some string"
看起來更像一個三重引號的原始字符串。 – 2010-05-15 21:29:25
你仍然需要在字符串中編碼''',所以這不是Python的''「」'語法的等價物。 – 2010-05-15 22:35:18
正如shoosh說,你要使用的逐字字符串在C#中,其中字符串@開始,並用雙引號。唯一的例外是,如果你需要把一個雙引號字符串中,在這種情況下,你需要
System.Console.WriteLine(@"Hello ""big"" world");
將輸出
Hello "big" world
F#3.0支持三重引號字符串。見Visual Studio F# Team Blog Post on 3.0 features.
的F# 3.0 Spec字符串和字符節專門提到了XML方案:
三重引號字符串使用三個引號 規定(「」「),以確保一個字符串包括一個或多個轉義 串被逐字解釋例如,三重引號字符串 可以用來嵌入XML斑點:
- 1. 電對模式和Python三重引號
- 2. Python中三引號字符串的替代方法Python有
- 3. 帶單引號,雙引號或三引號的Lex字符串
- 4. 在cson文件中插入三重引號在三重引號內
- 5. unescape_javascript()vs Coffeescript三重引號
- 6. 三重引號和多行
- 7. 什麼是HTML相當於Python中的三重引號?
- 8. 在Python中的字符串周圍實施三重引號
- 9. python中單引號,雙引號和三引號的區別是什麼?
- 10. 如何解決Python的語法無效三重引號「」」
- 11. 在三重引號(Python)的使用變量
- 12. 三重引號字符串的連接
- 13. 重新表達式中的單引號內的雙引號(python)
- 14. 如何查找F#中Seq,List或Array的最大索引號
- 15. Python如何用三個引號寫入?
- 16. Python doc字符串:三雙引號v.s.雙引號
- 17. 將三重引號插入JSON腳本
- 18. VBA日期雙引號給出三重引號
- 19. 是否有R等價於其他語言的三重引號?
- 20. C#正則表達式匹配三重引號「」「
- 21. 以單引號或雙引號在Python中提取字符串
- 22. F#計算三元節點的高度
- 23. Node.js中的單引號或雙引號?
- 24. C或Python中的規則引擎
- 25. 數組中的字符串,引號或沒有引號
- 26. Python中的「三點」是什麼意思索引數字看起來像什麼?
- 27. C中的printf中沒有引號`PRIu32`?
- 28. C#中的引號
- 29. 如何引用C#上下文中包含單引號的F#名稱?
- 30. 在python三重引號字符串中突出顯示替換字符串
好像三引號STRI ngs正在進入F#3.0。 – 2012-03-23 22:39:56