@ चरित्र एक पीएचटी में क्या करता है

"@" क्या मतलब है/करते हैं? पथ में "@" चरित्र पर दस्तावेज़ कहां है?

FileStream stream = new FileStream(@"FakeData.xml", FileMode.Open);
0
जोड़ा
विचारों: 2
यह सुनिश्चित करता है कि आपको प्रत्येक बैकस्लैश से बचने की आवश्यकता नहीं है (उदाहरण के लिए) लेकिन इसके बजाय आपको सामान्य यूआरआई दर्ज करने देता है।
जोड़ा लेखक Jeroen Vannevel, स्रोत

5 उत्तर

इसका अर्थ है "verbatim" या स्ट्रिंग ले लो सचमुच@ आमतौर पर फ़ाइल पथ सेट करते समय उपयोग किया जाता है:

@ "C: \ MyFolder \ file.txt"

अन्यथा आपको बैकस्लाश से बचना होगा:

"C: \\ MyFolder \\ file.txt"

यह आमतौर पर सहायक होता है, लेकिन यह भी परेशान हो सकता है। जब मैं डबल कोट्स से निपट रहा हूं तो मैं स्ट्रिंग कॉन्सटेनेशन के साथ @ को गठबंधन करता हूं।

        string a = "\"";
        //string b = @"\"";//does not compile
        string c = "\"" + @"C:\Path\File.txt" + "\"";//useful for outputting to command line

        Console.WriteLine("prints quote {0} prints path surrounded by quotes {1}",a, c);
0
जोड़ा
दोनों महान उत्तर लेकिन हां SO केवल एक जवाब की अनुमति देता है। अभी भी एक उत्थान हो जाता है।
जोड़ा लेखक Joe, स्रोत

"@" verbatim स्ट्रिंग है। यह स्ट्रिंग अक्षर के लिए प्रयोग किया जाता है। फ़ाइल पथ के मामलों का उपयोग करें जिन्हें आपको डबल स्लैश से बचने की आवश्यकता है। यह सटीक पाठ लिखता है। कोई भागने की जरूरत नहीं है।

for eg : string path [email protected]"c:\demo\files\txt2.text";

0
जोड़ा

यह पथ में नहीं है, यह कह रहा है कि स्ट्रिंग को सचमुच लिया जाना चाहिए।

http://msdn.microsoft.com/en- हमें/पुस्तकालय/aa691090 (v = vs.71) .aspx

उदाहरण के लिए:

string a = "hello, world";                 //hello, world
string b = @"hello, world";              //hello, world
string c = "hello \t world";              //hello     world
string d = @"hello \t world";              //hello \t world
string e = "Joe said \"Hello\" to me";     //Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";  //Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";  //\\server\share\file.txt
string h = @"\\server\share\file.txt";     //\\server\share\file.txt
0
जोड़ा

http://msdn.microsoft.com/en -US/पुस्तकालय/aa691090% 28v = vs.71% 29.aspx

सी # स्ट्रिंग अक्षर के दो रूपों का समर्थन करता है: नियमित स्ट्रिंग अक्षर और verbatim स्ट्रिंग अक्षर।

एक नियमित स्ट्रिंग शाब्दिक में डबल कोट्स में संलग्न शून्य या अधिक वर्ण होते हैं, जैसा कि "हैलो" में होता है, और इसमें सरल बचने के अनुक्रम (जैसे टैब वर्ण के लिए \ t) और हेक्साडेसिमल और यूनिकोड से बचने के दोनों दृश्य शामिल हो सकते हैं।

A verbatim string literal consists of an @ character followed by a double-quote character, zero or more characters, and a closing double-quote character. A simple example is @"hello". In a verbatim string literal, the characters between the delimiters are interpreted verbatim, the only exception being a quote-escape-sequence. In particular, simple escape sequences and hexadecimal and Unicode escape sequences are not processed in verbatim string literals. A verbatim string literal may span multiple lines.

0
जोड़ा

जब आप @ प्रतीक के साथ स्ट्रिंग अक्षरशः उपसर्ग करते हैं, तो आपने वर्बैटिम स्ट्रिंग कहा जाता है। Verbatim स्ट्रिंग का उपयोग करके, आप एक शाब्दिक के बचने के पात्रों की प्रसंस्करण को अक्षम करते हैं और एक स्ट्रिंग को प्रिंट करते हैं। निर्देशिका और नेटवर्क पथ का प्रतिनिधित्व करने वाले तारों के साथ काम करते समय यह सबसे उपयोगी हो सकता है। इसलिए, \ escape अक्षरों का उपयोग करने के बजाय, आप बस निम्न लिख सकते हैं:

Console.WriteLine(@"C:\MyApp\bin\Debug");

यह भी ध्यान रखें कि वर्बैटिम तारों का उपयोग कई पंक्तियों पर चलने वाले तारों के लिए सफेद स्थान को संरक्षित करने के लिए किया जा सकता है।

string myLongString = @"This is a very 
very 
    very 
        long string"; 
Console.WriteLine(myLongString); 

वर्बैटिम स्ट्रिंग का उपयोग करके, आप "टोकन को दोगुना करके एक शाब्दिक स्ट्रिंग में सीधे डबल कोट भी डाल सकते हैं।

Console.WriteLine(@"""");
0
जोड़ा