C# Language
स्ट्रिंग इंटरपोलेशन
खोज…
वाक्य - विन्यास
- $ "सामग्री {अभिव्यक्ति} सामग्री"
- $ "सामग्री {अभिव्यक्ति: प्रारूप} सामग्री"
- $ "सामग्री {अभिव्यक्ति} {{सामग्री में ब्रेसिज़}} सामग्री}"
- $ "सामग्री {अभिव्यक्ति: प्रारूप} {{सामग्री में ब्रेसिज़}} सामग्री}"
टिप्पणियों
स्ट्रिंग इंटरपोलेशन स्ट्रिंग के लिए एक शॉर्टहैंड है। string.Format()
विधि जो उनके अंदर चर और अभिव्यक्ति मूल्यों के साथ तार बनाना आसान बनाती है।
var name = "World";
var oldWay = string.Format("Hello, {0}!", name); // returns "Hello, World"
var newWay = $"Hello, {name}!"; // returns "Hello, World"
भाव
पूर्ण अभिव्यक्तियों का उपयोग प्रक्षेपित तारों में भी किया जा सकता है।
var StrWithMathExpression = $"1 + 2 = {1 + 2}"; // -> "1 + 2 = 3"
string world = "world";
var StrWithFunctionCall = $"Hello, {world.ToUpper()}!"; // -> "Hello, WORLD!"
तार में दिनांक प्रारूप
var date = new DateTime(2015, 11, 11);
var str = $"It's {date:MMMM d, yyyy}, make a wish!";
System.Console.WriteLine(str);
आप DateTime
ऑब्जेक्ट को फॉर्मेट करने के लिए DateTime.ToString
विधि का भी उपयोग कर सकते हैं। यह उपरोक्त कोड के समान आउटपुट का उत्पादन करेगा।
var date = new DateTime(2015, 11, 11);
var str = date.ToString("MMMM d, yyyy");
str = "It's " + str + ", make a wish!";
Console.WriteLine(str);
आउटपुट:
यह 11 नवंबर 2015 है, एक इच्छा बनाओ!
DateTime.ToString का उपयोग करते हुए लाइव डेमो
नोट:
MM
महीनों तक रहता है और मिनटों के लिएmm
। इनका उपयोग करते समय बहुत सावधानी बरतें क्योंकि गलतियाँ उन बगों को प्रस्तुत कर सकती हैं जिन्हें खोजना मुश्किल हो सकता है।
सरल उपयोग
var name = "World";
var str = $"Hello, {name}!";
//str now contains: "Hello, World!";
परदे के पीछे
आंतरिक रूप से यह
$"Hello, {name}!"
कुछ इस तरह संकलित किया जाएगा:
string.Format("Hello, {0}!", name);
उत्पादन पैडिंग
स्ट्रिंग एक पैडिंग पैरामीटर को स्वीकार करने के लिए स्वरूपित किया जा सकता है जो यह निर्दिष्ट करेगा कि सम्मिलित स्ट्रिंग कितने वर्ण स्थिति का उपयोग करेगा:
${value, padding}
नोट: पॉजिटिव पेडिंग वैल्यू लेफ्ट पेडिंग को दर्शाता है और नेगेटिव पेडिंग वैल्यू राइट पेडिंग को दर्शाता है।
लेफ्ट पेडिंग
5 के एक बाएं पैडिंग (संख्या के मूल्य से पहले 3 रिक्त स्थान जोड़ता है, इसलिए यह परिणामी स्ट्रिंग में कुल 5 वर्ण स्थिति लेता है।)
var number = 42;
var str = $"The answer to life, the universe and everything is {number, 5}.";
//str is "The answer to life, the universe and everything is 42.";
// ^^^^^
System.Console.WriteLine(str);
आउटपुट:
The answer to life, the universe and everything is 42.
राइट पेडिंग
राइट पैडिंग, जो एक नकारात्मक पैडिंग मान का उपयोग करता है, वर्तमान मूल्य के अंत में रिक्त स्थान जोड़ देगा।
var number = 42;
var str = $"The answer to life, the universe and everything is ${number, -5}.";
//str is "The answer to life, the universe and everything is 42 .";
// ^^^^^
System.Console.WriteLine(str);
आउटपुट:
The answer to life, the universe and everything is 42 .
प्रारूप विनिर्देशक के साथ पैडिंग
आप पैडिंग के साथ संयोजन के रूप में मौजूदा स्वरूपण विनिर्देशक का भी उपयोग कर सकते हैं।
var number = 42;
var str = $"The answer to life, the universe and everything is ${number, 5:f1}";
//str is "The answer to life, the universe and everything is 42.1 ";
// ^^^^^
तार में संख्याओं का प्रारूपण
संख्याओं को कैसे स्वरूपित किया जाता है, इसे नियंत्रित करने के लिए आप एक बृहदान्त्र और मानक संख्यात्मक प्रारूप वाक्यविन्यास का उपयोग कर सकते हैं।
var decimalValue = 120.5;
var asCurrency = $"It costs {decimalValue:C}";
// String value is "It costs $120.50" (depending on your local currency settings)
var withThreeDecimalPlaces = $"Exactly {decimalValue:F3}";
// String value is "Exactly 120.500"
var integerValue = 57;
var prefixedIfNecessary = $"{integerValue:D5}";
// String value is "00057"