লোকেরা স্ট্রিং লিটারেলগুলির সাথে কেন বিভ্রান্তিকর স্ট্রিংগুলি রাখে? গৃহীত উত্তর একটি পৃথক প্রশ্নের দুর্দান্ত উত্তর; এই এক না।
আমি জানি এটি একটি পুরানো বিষয়, তবে আমি সম্ভবত ওপি হিসাবে একই প্রশ্নটি নিয়ে এখানে এসেছি এবং লোকেরা কীভাবে এটি অপপ্রচার করে চলেছে তা দেখে হতাশাবোধ হয়। অথবা হতে পারে আমি এটি ভুলভাবে পড়ছি, জানি না।
মোটামুটিভাবে বলতে গেলে, একটি স্ট্রিং কম্পিউটার মেমোরির এমন একটি অঞ্চল যা কোনও প্রোগ্রাম সঞ্চালনের সময়, বাইটগুলির ক্রম থাকে যা পাঠ্য অক্ষরের সাথে ম্যাপ করা যায়। অন্যদিকে, একটি স্ট্রিং আক্ষরিক, উত্স কোডের একটি টুকরো, যা এখনও সংকলিত হয় না, যা পরে প্রদর্শিত হয় প্রোগ্রামটির সঞ্চালনের সময়, পরে একটি স্ট্রিং আরম্ভ করতে ব্যবহৃত মানকে উপস্থাপন করে।
সি # তে, বিবৃতি ...
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
... তিন লাইনের স্ট্রিং তৈরি করে না তবে একটি লাইনার তৈরি করে; তিনটি স্ট্রিংয়ের সংমিশ্রণ (প্রতিটি আলাদা আক্ষরিক থেকে আরম্ভ করা) যার কোনওটিতেই একটি নতুন-লাইন সংশোধক নেই।
ওপি কী বলে মনে হচ্ছে - কমপক্ষে আমি এই শব্দগুলির সাথে কী জিজ্ঞাসা করব - সংকলিত স্ট্রিংয়ে, উত্স কোডটিতে পাওয়া লাইনগুলি নকল করে তা কীভাবে প্রবর্তন করা যায় তা নয়, তবে কীভাবে দীর্ঘতার জন্য স্পষ্টতা বিচ্ছিন্ন করা যায় সোর্স কোডে লেখার, একক লাইন ছাড়া কম্পাইল স্ট্রিং বিরতি পরিচয় করানো। এবং একটি বর্ধিত সম্পাদন সময় প্রয়োজন ছাড়াই, উত্স কোড থেকে আসা একাধিক সাবস্ট্রিংগুলিতে যোগদান করে। জাভাস্ক্রিপ্ট বা সি ++ এর বহুবিধ স্ট্রিং আক্ষরিক মধ্যে চলমান ব্যাকস্ল্যাশগুলির মতো।
ভারব্যাটিম স্ট্রিং, মাইন্ডমাইন্ড StringBuilder
এস, String.Join
এস বা এমনকি নেস্টেড ফাংশনগুলি স্ট্রিং রিভার্সালের সাথে ব্যবহার করার পরামর্শ দিচ্ছে এবং কী নয়, তা আমাকে ভাবায় যে মানুষ সত্যই প্রশ্নটি বুঝতে পারছে না। অথবা আমি এটা বুঝতে পারি না।
যতদূর আমি জানি, সি # এর কমপক্ষে (পূর্ববর্তী দশক থেকে আমি এখনও অবধি ব্যবহৃত প্যালোলিথিক সংস্করণে) একাধিক স্ট্রিং লিটারাল পরিষ্কারভাবে নির্ধারণ করার বৈশিষ্ট্য রেখেছি যা সম্পাদনের চেয়ে সংকলনের সময় সমাধান করা যেতে পারে।
সম্ভবত বর্তমান সংস্করণগুলি এটি সমর্থন করে তবে আমি ভেবেছিলাম স্ট্রিং এবং স্ট্রিং লিটারেলের মধ্যে আমি যে পার্থক্যটি উপলব্ধি তা ভাগ করব।
হালনাগাদ:
(MeowCat2012 এর মন্তব্য থেকে) আপনি পারেন। ওপি দ্বারা "+" পদ্ধতির সেরা। অনুমান অনুসারে অপ্টিমাইজেশন গ্যারান্টিযুক্ত: http://stackoverflow.com/a/288802/9399618