2010-05-15 5 views
10

मैं एक स्ट्रिंग चर में एक एक्सएमएल कोड असाइन करना चाहता हूं। मैं पाइथन में ट्रिपल-कोट का उपयोग कर सिंगल या डबल-कोट्स से बचने के बिना ऐसा कर सकता हूं। क्या यह F # या C# में ऐसा करने का एक समान तरीका है?एफ # (या सी #) में एक अजगर के ट्रिपल-कोट की तरह कुछ?

+0

ट्रिपल उद्धृत stri की तरह लगता है एनजीएस एफ # 3.0 में अपना रास्ता बना रहे हैं। –

उत्तर

8

करने की जरूरत है जहां तक ​​मुझे पता है, सी #/एफ # में इसके अनुरूप कोई वाक्यविन्यास नहीं है। यदि आप @"str" का उपयोग करते हैं तो आपको दो उद्धरणों के साथ उद्धरण को प्रतिस्थापित करना होगा और यदि आप केवल "str" का उपयोग करते हैं तो आपको बैकस्लैश जोड़ने की आवश्यकता है।

var str = @"allows 
    multiline, but still need to encode "" as two chars"; 
var str = "need to use backslahs \" here"; 

हालांकि, अपने आवेदन में जब आप (जैसे XML डेटा के रूप में) बड़े तार एम्बेड करने के लिए की जरूरत है तो सबसे अच्छा होगा शायद उपयोग करने के लिए है:

किसी भी मामले में, वहाँ " के कुछ एन्कोडिंग है। नेट संसाधन (या अपने आवेदन के आधार पर डेटा कहीं और स्टोर करें)। कार्यक्रम में बड़े स्ट्रिंग अक्षर एम्बेड करना आम तौर पर बहुत अनुशंसित नहीं है। इसके अलावा, used to be a plugin एक्सएमएल को पेड़ के रूप में चिपकाने के लिए XElement सी # के लिए ऑब्जेक्ट्स बनाता है, लेकिन मुझे यकीन नहीं है कि यह अभी भी मौजूद है या नहीं।

हालांकि, मैं व्यक्तिगत रूप से """ को पाइथन से F # के रूप में जाना जाता हूं - यह बहुत उपयोगी है, खासकर इंटरैक्टिव स्क्रिप्टिंग के लिए।

+0

थेंक्स टॉमस। मैं सिर्फ एम्बेड करके कई "लघु" एक्सएमएल फ़ाइलों को प्रबंधित करना चाहता हूं। मुझे लगता है कि मुझे एक्सएमएल विशेषताओं के लिए सिंग-कोट का उपयोग करना चाहिए। बीटीडब्ल्यू, मैंने आपकी पुस्तक पढ़ी। यह बहुत अच्छा है। –

+1

@tk: धन्यवाद! हाँ, मुझे लगता है कि दिशानिर्देशों के अनुसार एम्बेडिंग स्ट्रिंग्स "बुराई" नहीं है ... –

0

shoosh के रूप में कहा, तुम सी #, जहां तार के साथ शुरू होता है और @ दोहरे उद्धरण चिह्नों में संलग्न है में शब्दशः स्ट्रिंग शाब्दिक उपयोग करना चाहते हैं सी # में वाक्य रचना @"some string"

see here

+0

एक तिहाई-उद्धृत कच्ची स्ट्रिंग की तरह दिखता है। –

+3

आपको अभी भी स्ट्रिंग में '' 'एन्कोड करने की आवश्यकता है, इसलिए यह वास्तव में पायथन के' '' सिंटैक्स के बराबर नहीं है। –

1

है। यदि आप स्ट्रिंग में एक दोहरा उद्धरण चिह्न लगाने की जरूरत है केवल एक अपवाद है, ऐसी स्थिति में आप इसे दोगुना

System.Console.WriteLine(@"Hello ""big"" world");

होगा उत्पादन

Hello "big" world

http://msdn.microsoft.com/en-us/library/362314fe.aspx

14

एफ # 3.0 ट्रिपल उद्धृत तारों का समर्थन करता है। ("" ") यह सुनिश्चित करने के

एक ट्रिपल उद्धृत स्ट्रिंग तीन उद्धरण चिह्नों का उपयोग करके निर्दिष्ट किया जाता है कि एक स्ट्रिंग है: Visual Studio F# Team Blog Post on 3.0 features.

F# 3.0 Specतार और वर्ण देखें अनुभाग विशेष रूप से एक्सएमएल परिदृश्य का उल्लेख है एक या अधिक भाग निकले तार शब्दशः व्याख्या की है शामिल हैं उदाहरण के लिए, एक ट्रिपल उद्धृत स्ट्रिंग एक्सएमएल धब्बे एम्बेड करने के लिए इस्तेमाल किया जा सकता:।

संबंधित मुद्दे