C# Language
स्ट्रिंग एस्केप सीक्वेंस
खोज…
वाक्य - विन्यास
- \ '- एकल उद्धरण (0x0027)
- \ "- दोहरी बोली (0x0022)
- \\ - बैकस्लैश (0x005C)
- \ 0 - अशक्त (0x0000)
- \ a - चेतावनी (0x0007)
- \ b - बैकस्पेस (0x0008)
- \ f - फ़ॉर्म फ़ीड (0x000C)
- \ n - नई पंक्ति (0x000A)
- \ r - गाड़ी वापसी (0x000D)
- \ t - क्षैतिज टैब (0x0009)
- \ v - ऊर्ध्वाधर टैब (0x000B)
- \ u0000 - \ uFFFF - यूनिकोड वर्ण
- \ x0 - \ xFFFF - यूनिकोड वर्ण (चर लंबाई के साथ कोड)
- \ U00000000 - \ U0010FFFF - यूनिकोड वर्ण (सरोगेट बनाने के लिए)
टिप्पणियों
स्ट्रिंग एस्केप सीक्वेंस को कंपाइल टाइम पर संबंधित कैरेक्टर में बदल दिया जाता है। साधारण तार जो पीछे की ओर स्लैश होते हैं, वे रूपांतरित नहीं होते हैं।
उदाहरण के लिए, तार notEscaped
और notEscaped2
नीचे एक नई पंक्ति चरित्र में तब्दील नहीं कर रहे हैं, लेकिन दो अलग अलग वर्ण (के रूप में रहना होगा '\'
और 'n'
)।
string escaped = "\n";
string notEscaped = "\\" + "n";
string notEscaped2 = "\\n";
Console.WriteLine(escaped.Length); // 1
Console.WriteLine(notEscaped.Length); // 2
Console.WriteLine(notEscaped2.Length); // 2
यूनिकोड चरित्र बच क्रम
string sqrt = "\u221A"; // √
string emoji = "\U0001F601"; // 😁
string text = "\u0022Hello World\u0022"; // "Hello World"
string variableWidth = "\x22Hello World\x22"; // "Hello World"
चरित्र शाब्दिकों में विशेष प्रतीकों को बचाना
अपॉस्ट्राफी
char apostrophe = '\'';
बैकस्लैश
char oneBackslash = '\\';
स्ट्रिंग साहित्यिक में विशेष प्रतीकों को बचाना
बैकस्लैश
// The filename will be c:\myfile.txt in both cases
string filename = "c:\\myfile.txt";
string filename = @"c:\myfile.txt";
दूसरा उदाहरण एक शब्दशः स्ट्रिंग स्ट्रिंग शाब्दिक का उपयोग करता है, जो बैकस्लैश को भागने के पात्र के रूप में नहीं मानता है।
उल्लेख। उद्धरण
string text = "\"Hello World!\", said the quick brown fox.";
string verbatimText = @"""Hello World!"", said the quick brown fox.";
दोनों चर में एक ही पाठ होगा।
"हेल्लो वर्ल्ड!", त्वरित भूरे लोमड़ी ने कहा।
नई-पंक्तियों
शब्दशः स्ट्रिंग स्ट्रिंग में नई लिपि हो सकती है:
string text = "Hello\r\nWorld!";
string verbatimText = @"Hello
World!";
दोनों चर में एक ही पाठ होगा।
गैर-मान्यता प्राप्त बचन क्रम संकलन-समय त्रुटियाँ उत्पन्न करता है
निम्नलिखित उदाहरण संकलित नहीं करेंगे:
string s = "\c";
char c = '\c';
इसके बजाय, वे संकलन समय पर त्रुटि को Unrecognized escape sequence
।
पहचानकर्ताओं में भागने के दृश्यों का उपयोग करना
एस्केप सीक्वेंस string
और char
लीटर के लिए सीमित नहीं हैं।
मान लीजिए कि आपको किसी तृतीय-पक्ष विधि को ओवरराइड करने की आवश्यकता है:
protected abstract IEnumerable<Texte> ObtenirŒuvres();
और मान लीजिए कि आपके द्वारा # C # स्रोत फ़ाइलों के लिए उपयोग किए जाने वाले वर्ण एन्कोडिंग में Œ
उपलब्ध नहीं है। आप भाग्यशाली हैं, कोड में पहचानकर्ताओं में टाइप \u####
या \U########
का उपयोग करने की अनुमति है। इसलिए यह लिखना कानूनी है:
protected override IEnumerable<Texte> Obtenir\u0152uvres()
{
// ...
}
और C # संकलक को पता Œ
जाएगा Œ
और \u0152
एक ही वर्ण हैं।
(हालांकि, UTF-8 या इसी तरह के एन्कोडिंग पर स्विच करना एक अच्छा विचार हो सकता है जो सभी वर्णों को संभाल सकता है।)