2015-10-07 5 views
33

मैं सी # 6 में नई सुविधाओं, नई स्ट्रिंग वाक्य रचना सहित बारे में बहुत उत्साहित हूँ:अंदर नई सी # पलायन उद्धरण 6 स्ट्रिंग सिंटेक्स

var fullName = $"My Name is {FirstName} {LastName}"; 
हालांकि

, मैं समझ नहीं उद्धरण से बचने के लिए कैसे अंदर पीछा करने के लिए ब्रेसिज़:

bool includePrefix = true; 

var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}"; 

सी # 6 इसे पसंद नहीं करता है। मुझे उस दूसरे मामले में String.Format का उपयोग करने के लिए वापस जाना पड़ा। क्या नए वाक्यविन्यास का उपयोग करके उद्धरण से बचना संभव है?

अपडेट: हाँ, मैंने \ से बचने का प्रयास किया है, लेकिन यह पहचाना नहीं गया है।

+0

एक संपत्ति है कि संपत्ति स्ट्रिंग तर्क करता है और फिर बस के बजाय का उपयोग करें कि स्ट्रिंग में लिखें। – asawyer

+1

@asawyer मुझे कई प्रश्नों के बारे में पता है, जिसमें मैंने अपने प्रश्न में बताया था। मैं सिर्फ यह जानना चाहता हूं कि इस नए वाक्यविन्यास के अंदर भागना संभव है या नहीं। –

+0

https://msdn.microsoft.com/en-us/library/dn961160.aspx#Anchor_1 –

उत्तर

51

कोष्ठकों के अंदर अंदर कोष्ठक अपने तर्क लपेट,:

var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}"; 
+0

यह चाल है! धन्यवाद –

14

नियमित रूप से उद्धरण से बचने के लिए आप एक स्लेश (अर्थात \") का उपयोग करने की जरूरत है।

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

यह काम करता है:

bool includePrefix = true; 
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}"; 
संबंधित मुद्दे