यह सी में नई सुविधा # 6 Interpolated Strings
कहा जाता है पर।
इसे समझने का सबसे आसान तरीका यह है: एक इंटरपोलेटेड स्ट्रिंग अभिव्यक्ति द्वारा स्ट्रिंग बनाता है जो अभिव्यक्ति के परिणामों के प्रस्तुत करने के लिए ToString के साथ निहित अभिव्यक्तियों को प्रतिस्थापित करता है।
इसके बारे में अधिक जानकारी के लिए, कृपया MSDN पर एक नज़र डालें।
अब, इसके बारे में थोड़ा और सोचें। यह सुविधा क्यों शानदार है?
public class Point
{
public int X { get; set; }
public int Y { get; set; }
}
2 उदाहरणों बनाएँ::
var p1 = new Point { X = 5, Y = 10 };
var p2 = new Point {X = 7, Y = 3};
अब, आप इसे स्क्रीन पर उत्पादन करना चाहते हैं
उदाहरण के लिए, आप वर्ग Point
है। 2 तरीके है कि आप आमतौर पर उपयोग करें:
Console.WriteLine("The area of interest is bounded by (" + p1.X + "," + p1.Y + ") and (" + p2.X + "," + p2.Y + ")");
आप देख सकते हैं, स्ट्रिंग श्रृंखलाबद्ध इस कोड को पढ़ने के लिए कठिन और त्रुटि प्रवण बनाता है की तरह।आप इसे अच्छे बनाने के लिए string.Format()
उपयोग कर सकते हैं:
Console.WriteLine(string.Format("The area of interest is bounded by({0},{1}) and ({2},{3})", p1.X, p1.Y, p2.X, p2.Y));
यह एक नई समस्या पैदा करता है:
- आप तर्क और अपने आप सूचकांक की संख्या बनाए रखने के लिए किया है।
उन कारणों से, हम नई सुविधा का उपयोग करना चाहिए:
Console.WriteLine($"The area of interest is bounded by ({p1.X},{p1.Y}) and ({p2.X},{p2.Y})");
संकलक अब आप के लिए प्लेसहोल्डर का कहना है ताकि आप सही तर्क का अनुक्रमण के बारे में चिंता है क्योंकि आप बस इसे सही जगह नहीं है स्ट्रिंग में वहाँ।
पूर्ण पोस्ट के लिए, कृपया this blog पढ़ें।
[इंटरपोलेटेड स्ट्रिंग्स] (https://msdn.microsoft.com/en-us/library/dn961160.aspx) – Eser
किसी को यह मानना होगा कि 'परिणाम' डेटाटाइप 'डबल' है जैसा आपने उल्लेख नहीं किया है यह। – pkamathk
यह सुनिश्चित नहीं है कि क्यों, लेकिन इस पोस्ट में इसके डुप्लिकेट लक्ष्य की तुलना में अधिक प्रासंगिक प्रासंगिकता दिखाई देती है। यह चारों ओर डुप्ली रखने के लिए एक अच्छा मामला प्रतीत होता है। – jrh