खोज…


वाक्य - विन्यास

  • $ "सामग्री {अभिव्यक्ति} सामग्री"
  • $ "सामग्री {अभिव्यक्ति: प्रारूप} सामग्री"
  • $ "सामग्री {अभिव्यक्ति} {{सामग्री में ब्रेसिज़}} सामग्री}"
  • $ "सामग्री {अभिव्यक्ति: प्रारूप} {{सामग्री में ब्रेसिज़}} सामग्री}"

टिप्पणियों

स्ट्रिंग इंटरपोलेशन स्ट्रिंग के लिए एक शॉर्टहैंड है। 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!"

.NET फिडल पर लाइव डेमो

तार में दिनांक प्रारूप

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 है, एक इच्छा बनाओ!

.NET फिडल पर लाइव डेमो

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.

.NET फिडल पर लाइव डेमो

राइट पेडिंग

राइट पैडिंग, जो एक नकारात्मक पैडिंग मान का उपयोग करता है, वर्तमान मूल्य के अंत में रिक्त स्थान जोड़ देगा।

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   .

.NET फिडल पर लाइव डेमो

प्रारूप विनिर्देशक के साथ पैडिंग

आप पैडिंग के साथ संयोजन के रूप में मौजूदा स्वरूपण विनिर्देशक का भी उपयोग कर सकते हैं।

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 ";
//                                                           ^^^^^

.NET फिडल पर लाइव डेमो

तार में संख्याओं का प्रारूपण

संख्याओं को कैसे स्वरूपित किया जाता है, इसे नियंत्रित करने के लिए आप एक बृहदान्त्र और मानक संख्यात्मक प्रारूप वाक्यविन्यास का उपयोग कर सकते हैं।

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"

.NET फिडल पर लाइव डेमो



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow