मैं सी # 6.0 में नई स्ट्रिंग इंटरपोलेशन सुविधा की जांच कर रहा हूं (आगे विस्तार के लिए Language Features page at Roslyn देखें)। वर्तमान वाक्य रचना (जो बदलने के लिए आशा की जाती है) के साथ, आप कुछ इस तरह (एक ब्लॉग पोस्ट मैं सिर्फ अब लिख रहा हूँ से लिया उदाहरण) कर सकते हैं:स्ट्रिंग इंटरपोलेशन में प्रारूपण डैश
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyyMdd}";
हालांकि, मैं डैश शामिल नहीं कर पा रहे जैसे स्वरूपण हिस्सा है, में:
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyy-M-dd}";
अगर मैं ऐसा, मैं त्रुटि मिलती है:
Error CS1056 Unexpected character '-' StringInterpolation Program.cs 21
वहाँ किसी भी तरह से मैं डैश स्वरूपण भाग में काम करने के लिए प्राप्त कर सकते हैं है? मुझे पता है कि मैं सिर्फ string.Format() का उपयोग कर सकता हूं, लेकिन मैं देखना चाहता हूं कि यह एक अभ्यास के रूप में स्ट्रिंग इंटरपोलेशन के साथ किया जा सकता है या नहीं।
संपादित करें: ऐसा लगता है कि कोई भी नहीं जानता कि मैं किस बारे में बात कर रहा हूं, इस विषय पर my blog post देखें कि यह कैसे काम करना है।
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth : "yyyy-M-dd"}";
यह प्रश्न अस्पष्ट कैसे है? यह कहता है कि त्रुटि को पुन: उत्पन्न करने के लिए क्या आवश्यक है और अपेक्षित व्यवहार क्या है। – svick
समस्या में स्ट्रिंग इंटरपोलेशन के साथ पूरी तरह से कुछ भी नहीं है, और 'ग्राहक को कॉल करने के लिए सबकुछ करना है। डेटऑफबर्थ। टोस्टिंग (" yyyy-m-dd ");'। जांचें कि क्या आप सभी अनावश्यक इंटरपोलेशन सामग्री के बाहर प्रारूप स्ट्रिंग के साथ 'ToString' विधि को कॉल कर सकते हैं। – abelenky
@abelenky यह एक संकलन समय त्रुटि है, अपवाद नहीं। – svick