2015-11-02 8 views
16

मैंने एक इंटरपोलेटेड स्ट्रिंग के अंदर सशर्त ऑपरेटर का उपयोग करने की कोशिश की, लेकिन इसमें इसके लिए एक कोलन है, इसलिए संकलक सोचता है कि कोलन एक प्रारूप स्ट्रिंग आता है।सी # इंटरपोलेटेड स्ट्रिंग सशर्त-ऑपरेटर

$"test {foo ? "foo is true" : "foo is false"}"; 

मैं इस प्रकार के कथन का उपयोग कैसे कर सकता हूं? केवल एक चीज है कि मेरे दिमाग में आता है कुछ इस तरह है:

var fooString = foo ? "foo is true" : "foo is false"; 
$"test {fooString}"; 
+2

यह एक [इंटरपोलेटेड स्ट्रिंग] है (https://msdn.microsoft.com/en-GB/library/dn961160.aspx)। [Verbatim तार] (https://msdn.microsoft.com/en-GB/library/362314fe.aspx) वे हैं जो '@" से शुरू होते हैं और उनमें ऐसे अक्षर हो सकते हैं जिन्हें आम तौर पर भागने की आवश्यकता होती है। –

उत्तर

37

आपको {} के भीतर स्ट्रिंग में स्ट्रिंग को रखने की आवश्यकता है, इसलिए: {(1 == 1 ? "yes" : "no")}

-1
$"test {(foo ? "foo is true" : "foo is false")}"; 

छोटे कोष्ठक एक चर लौटने के लिए, और कहा कि केवल एक चीज अर्द्ध बृहदान्त्र और स्वरूपण के साथ बड़ा कोष्ठक के अंदर की अनुमति दी है।

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