PlaceHolder از دو کلمه ی Place به معنای مکان و Holder به معنای نگهدارنده تشکیل شده که یکی از کاربرد های ساده ی آن را در زیر برای شما میخواهم شرح بدهم! همانطور که احتمالا از قبل میدانید عملگر اتصال رشته در زبان سی شارپ (همچنین ویژوال بیسیک) عملگر + است مثلا زمانی که دو رشته ی زیر را میخواهیم بهم متصل کنیم از دستور زیر استفاده میکنیم:
string f=Meysam;
String s=Valiolahi;
String Merg=f + s;
حالا تصور کنید میخواهیم یک فضای خالی در میان دو رشته اضافه کنیم که یقینا متوجه شدید که مجدد احتیاج دارید تا با استفاده از عملگر + و " " یک فضای خالی به رشته ی حاصله اضافه کنید کند:
string f=Meysam;
String s=Valiolahi;
String Merg=f +" "+ s;
خوب تا اینا متوجه شدید که یکی از عیب های این روش کد نویسی طولانی اونه تازه اگه بخوایم یه متغییر عددی رو به رشته ی سوم اضافه کنیم باید نوع داده ی اون رو تغییر بدیم که باز کد طولانی تر میشه و خواناییش کاهش پیدا میکنه توی این مثال به وسیله ی placeholder این مشکل رو رفع میکنیم البته کار برد placeholder ها خیلیه مثلا در زمان کار با پایگاه داده توی سی شارپ و ... خوب به کد زیر توجه کنید ببینید چه تفاوتی میکنه:
String f="Meysam";
String s="Valiolahi";
String Merg=string.Format("{0} ({1})",f,s);
همانطور که متوجه شدید {0} نقش placeholder رو بازی میکنه که عدد داخل تعداد آرگمان هاشه که از 0 شروع میشه برای اینکه بهتر متوجه بشید یه textbox و یک button به فرمی اضافه کنید و کد زیر رو توی رویداد کلیک دکمه اضافه کنید . متنی رو توی textbox بنویسید و اونو اجرا کنید:
string txt1="Hello";
string txt2=textBox1.Text;
string x=string.Format("{0} ({1})",txt1,txt2);
MessageBox.Show(x);
منبع مطلب: combook.mihanblog.com
منابع انگلیسی:
Composite Formatting
What does {0} mean when found in a string in c#? - Stack Overflow