लोग स्ट्रिंग शाब्दिक के साथ भ्रामक तार क्यों रखते हैं? स्वीकृत उत्तर एक अलग प्रश्न का एक शानदार उत्तर है; इस एक को नहीं।
मुझे पता है कि यह एक पुराना विषय है, लेकिन मैं ओपी के रूप में संभवतः एक ही सवाल के साथ यहां आया था, और यह देखकर निराशा होती है कि लोग इसे कैसे गलत बताते हैं। या शायद मैं इसे गलत बता रहा हूं, मुझे नहीं पता।
मोटे तौर पर, एक स्ट्रिंग कंप्यूटर मेमोरी का एक क्षेत्र है जो एक कार्यक्रम के निष्पादन के दौरान, बाइट्स का एक क्रम होता है जिसे पाठ वर्णों में मैप किया जा सकता है। दूसरी ओर एक स्ट्रिंग शाब्दिक, स्रोत कोड का एक टुकड़ा है, जो अभी तक संकलित नहीं है, जो उस प्रोग्राम के निष्पादन के दौरान बाद में एक स्ट्रिंग को इनिशियलाइज़ करने के लिए उपयोग किए जाने वाले मूल्य का प्रतिनिधित्व करता है जिसमें यह दिखाई देता है।
C # में, कथन ...
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
... एक तीन-लाइन स्ट्रिंग लेकिन एक लाइनर का उत्पादन नहीं करता है ; तीन तार (प्रत्येक एक अलग शाब्दिक से आरंभिक) का संयोजन जिसमें से कोई भी नया-पंक्ति संशोधक नहीं है।
ओपी क्या पूछ रहा है-कम से कम मैं उन शब्दों के साथ क्या पूछ रहा हूं- यह नहीं है कि कैसे लागू किया जाए, संकलित स्ट्रिंग में, लाइन टूट जाती है जो स्रोत कोड में पाई गई नकल करते हैं, लेकिन स्पष्टता के लिए लंबे समय तक कैसे टूटते हैं संकलित स्ट्रिंग में विराम के बिना स्रोत कोड में पाठ की एकल पंक्ति । और एक विस्तारित निष्पादन समय की आवश्यकता के बिना, स्रोत कोड से आने वाले कई सबस्ट्रिंग्स में शामिल होने में खर्च किया। जावास्क्रिप्ट या C ++ में एक बहुस्तरीय स्ट्रिंग शाब्दिक के भीतर पीछे की ओर पीछे की ओर।
वर्बटिम स्ट्रिंग्स के उपयोग का सुझाव देते हुए StringBuilder
, String.Join
स्ट्रिंग रिवर्सल के साथ एस या एस और नेस्टेड कार्यों को कभी भी नहीं, मुझे लगता है कि मुझे लगता है कि लोग वास्तव में प्रश्न को नहीं समझ रहे हैं। या शायद मुझे यह समझ में नहीं आता है।
जहाँ तक मुझे पता है, C # (पिछले एक दशक से कम से कम मेरे द्वारा उपयोग किए जा रहे पैलियोलिथिक संस्करण में) नहीं है, जिसमें मल्टीलिन स्ट्रिंग शाब्दिक उत्पादन करने की सुविधा है जिसे निष्पादन के बजाय संकलन के दौरान हल किया जा सकता है।
हो सकता है कि वर्तमान संस्करण इसका समर्थन करते हों, लेकिन मुझे लगा कि मैं उन अंतरों को साझा करूंगा जो मैं स्ट्रिंग और स्ट्रिंग शाब्दिक के बीच अनुभव करता हूं।
अपडेट करें:
(MeowCat2012 की टिप्पणी से) आप कर सकते हैं। ओपी द्वारा "+" दृष्टिकोण सबसे अच्छा है। कल्पना के अनुसार अनुकूलन की गारंटी है: http://stackoverflow.com/a/288802/9399618