সি # 6 এ একটি নতুন বৈশিষ্ট্য রয়েছে: ইন্টারপোল্টেড স্ট্রিং।
এগুলি আপনাকে সূচকের উপর নির্ভর না করে সরাসরি কোডে এক্সপ্রেশন দেয়:
string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());
হয়ে:
string s = $"Adding \"{x}\" and {this.Y()} to foobar.";
তবে ভারব্যাটিম স্ট্রিংগুলি (মূলত এসকিউএল স্টেটমেন্ট) ব্যবহার করে আমাদের একাধিক লাইন জুড়ে প্রচুর স্ট্রিং রয়েছে:
string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
এগুলিকে নিয়মিত স্ট্রিংগুলিতে ফিরিয়ে দেওয়া অগোছালো বলে মনে হচ্ছে:
string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
আমি ভারব্যাটিম এবং ইন্টারপোল্টেড স্ট্রিং একসাথে কীভাবে ব্যবহার করব?
3
যদি এটি সত্যিই এসকিউএল স্ট্রিংগুলি সম্পর্কে থাকে তবে এর পরিবর্তে প্যারামেট্রাইজড কোয়েরি ব্যবহার না করার কোনও কারণ আছে কি?
—
সোভিক
"ভারব্যাটিম স্ট্রিংগুলি (মূলত এসকিউএল স্টেটমেন্ট) ব্যবহার করে আমাদের একাধিক লাইন জুড়ে প্রচুর স্ট্রিং রয়েছে" আপনার কাছে অনেকগুলি এসকিউএল স্ট্রিং রয়েছে যা এসকিউএল ইঞ্জেকশন আক্রমণ সক্ষম করে sounds
—
Cetin Basoz
@ চালক আমরা, ব্যবহারকারী ইনপুট প্রতিটি প্যারামিটারাইজড। আমরা এখনও গতিশীল এসকিউএল যদিও ভারীভাবে ব্যবহার করি, কারণ আমরা কোডে আমাদের সত্তাগুলির জন্য গতিশীল এসকিউএল তৈরি করি।
—
কিথ
@ চ্যাটিনবাসোজ আমরা করি না - সমস্ত ব্যবহারকারীর ইনপুট প্যারামিটারাইজড। আপনার গতিশীল এসকিউএল রয়েছে এমন প্রচুর পরিস্থিতি রয়েছে - যেমন লিনকুই বা অন্য কোনও অবজেক্ট ম্যাপিং ফ্রেমওয়ার্ক।
—
কিথ