علامت دلار در سیشارپ
علامت دلار در سیشارپ ($) برای قرار دادن متغیرها و عبارتها داخل رشته و ساخت متنهای پویا و خوانا استفاده میشود.
31 مرداد 1405
لینک کوتاه
علامت دلار در سیشارپ ($)
اگر با زبان برنامهنویسی #C (سیشارپ) کار کرده باشید، احتمالاً علامت $ را قبل از رشتههای متنی دیدهاید.علامت دلار در سیشارپ یکی از قابلیتهای کاربردی این زبان برای قرار دادن متغیرها و عبارتهای مختلف داخل رشتهها است.
این قابلیت که با نام String Interpolation یا «درونیابی رشتهای» شناخته میشود، باعث میشود کدنویسی سادهتر، خواناتر و سریعتر انجام شود.
علامت دلار در سیشارپ چیست؟
در زبان #C، علامت $ معمولاً قبل از یک رشته قرار میگیرد تا آن رشته به یک Interpolated String تبدیل شود. به کمک این قابلیت میتوانیم مقدار متغیرها یا نتیجه اجرای عبارتها را مستقیماً داخل متن قرار دهیم.
برای مثال:
string name = "Ali";
int age = 25;
string message = $"My name is {name} and I am {age} years old.";
در این مثال، علامت $ به کامپایلر اعلام میکند که محتوای داخل {} باید به عنوان یک متغیر یا عبارت #C پردازش شود.
خروجی کد بالا خواهد بود:
My name is Ali and I am 25 years old.
بنابراین، یکی از مهمترین کاربردهای علامت دلار در #C، ساخت رشتههای پویا و ترکیب متن با دادههای برنامه است.
کاربرد $ در #C چیست؟
استفاده از $ بیشتر زمانی مفید است که بخواهیم یک یا چند مقدار را داخل یک متن قرار دهیم.پیش از معرفی String Interpolation، برنامهنویسان معمولاً برای این کار از عملگر + یا متد ()String.Format استفاده میکردند.
برای مثال، روش قدیمی:
string name = "Sara";
int age = 30;
string message = "Name: " + name + ", Age: " + age;
اما با String Interpolation میتوان همین کار را بسیار سادهتر انجام داد:
string message = $"Name: {name}, Age: {age}";
این روش علاوه بر کوتاهتر بودن، خوانایی کد را نیز افزایش میدهد.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
استفاده از متغیرها با علامت دلار
سادهترین کاربرد $ در سیشارپ، قرار دادن مقدار یک متغیر داخل رشته است.string firstName = "Reza";
string lastName = "Ahmadi";
string fullName = $"{firstName} {lastName}";
Console.WriteLine(fullName);
خروجی:
Reza Ahmadi
هر مقداری که داخل {} قرار بگیرد، توسط #C ارزیابی شده و نتیجه آن در رشته قرار میگیرد.
قرار دادن عبارتهای #C داخل رشته
String Interpolation فقط برای متغیرها نیست.میتوانیم از عبارتها، عملیات ریاضی و حتی متدها نیز استفاده کنیم.
برای مثال:
int price = 100;
int count = 3;
Console.WriteLine($"Total price: {price * count}");
خروجی:
Total price: 300
همچنین میتوان از متدها استفاده کرد:
string name = "ALI";
Console.WriteLine($"Name: {name.ToLower()}");
خروجی:
Name: ali
این ویژگی یکی از دلایلی است که باعث شده استفاده از $ در #C بین برنامهنویسان بسیار محبوب باشد.
قالببندی اعداد با $ در سیشارپ
یکی دیگر از قابلیتهای مهم String Interpolation، امکان قالببندی مقادیر است.برای مثال، میتوان تعداد رقم اعشار یک عدد را مشخص کرد.
double price = 125.5678;
Console.WriteLine($"Price: {price:F2}");
خروجی:
Price: 125.57
در اینجا F2 مشخص میکند که عدد با دو رقم اعشار نمایش داده شود.
همچنین میتوان برای نمایش درصد، تاریخ، ارز و سایر دادهها از قالبهای مختلف استفاده کرد.
نمایش تاریخ با String Interpolation
علامت $ در #C برای نمایش تاریخ نیز بسیار کاربردی است.DateTime date = DateTime.Now;
Console.WriteLine($"Today: {date:yyyy/MM/dd}");
در این مثال، تاریخ با فرمت سال/ماه/روز نمایش داده میشود.
برای مثال ممکن است خروجی چیزی شبیه این باشد:
Today: 2026/08/20
قالببندی تاریخ باعث میشود بتوانیم اطلاعات را دقیقاً مطابق نیاز برنامه نمایش دهیم.
تفاوت $ با String.Format در سی شارپ
قبل از معرفی String Interpolation، یکی از روشهای رایج برای ساخت رشتههای قالببندیشده، استفاده از ()String.Format بود.مثلاً:
string name = "Ali";
int age = 25;
string message = String.Format("Name: {0}, Age: {1}", name, age);
همین کد با استفاده از $ سادهتر میشود:
string message = $"Name: {name}, Age: {age}";
روش دوم معمولاً خواناتر است، زیرا به جای استفاده از شمارههایی مانند {0} و {1}، نام واقعی متغیرها را میبینیم.
تفاوت $ با علامت + در #C
روش دیگر برای اتصال رشتهها، استفاده از عملگر + است:
string name = "Mina";
int age = 22;
string message = "Name: " + name + ", Age: " + age;
اگرچه این روش کاملاً معتبر است، اما با افزایش تعداد متغیرها ممکن است کد پیچیده و ناخوانا شود.
در مقابل:
string message = $"Name: {name}, Age: {age}";
ساختار متن را بهتر نشان میدهد و مدیریت آن سادهتر است.
استفاده از چند متغیر در یک رشته
هیچ محدودیت خاصی برای تعداد عبارتهای داخل یک String Interpolation وجود ندارد.string product = "Laptop";
int price = 50000;
int quantity = 2;
string result = $"Product: {product}, Price: {price}, Quantity: {quantity}";
در اینجا سه متغیر مختلف در یک رشته استفاده شدهاند.
استفاده از $ با دستورات شرطی
میتوان داخل {} از عبارتهای پیچیدهتر نیز استفاده کرد.برای نمونه:
int age = 20;
string result = $"Status: {(age >= 18 ? "Adult" : "Minor")}";
خروجی:
Status: Adult
البته برای عبارتهای بسیار پیچیده بهتر است ابتدا نتیجه را در یک متغیر جداگانه قرار دهیم تا خوانایی کد حفظ شود.
آیا علامت $ بخشی از مقدار رشته است؟
خیر. علامت $ بخشی از متن خروجی نیست؛ بلکه به #C میگوید که رشته موردنظر یک Interpolated String است.برای مثال:
string name = "Ali";
string text = $"Hello {name}";
خروجی فقط این است:
Hello Ali
علامت $ در خروجی نمایش داده نمیشود.
اگر بخواهیم خود علامت دلار را به عنوان یک کاراکتر واقعی نمایش دهیم، باید آن را به شکل معمول در متن قرار دهیم:
Console.WriteLine("$100");
خروجی:
$100
نکته مهم درباره استفاده از آکولاد
در String Interpolation، آکولاد {} برای مشخص کردن عبارتهایی است که باید توسط #C پردازش شوند.مثلاً:
string name = "Sara";
Console.WriteLine($"Hello {name}");
اگر بخواهیم خود کاراکترهای { یا } را نمایش دهیم، باید آنها را Escape کنیم:
Console.WriteLine($"{{Hello}}");
خروجی:
{Hello}
بنابراین باید تفاوت بین آکولاد برای جایگذاری متغیر و آکولاد به عنوان کاراکتر معمولی را بدانیم.
مزایای استفاده از علامت دلار در #C
استفاده از String Interpolation چند مزیت مهم دارد:-
کد کوتاهتر و خواناتر میشود.
-
قرار دادن متغیرها داخل متن سادهتر است.
-
امکان قالببندی اعداد و تاریخ وجود دارد.
-
نیاز به استفاده مکرر از + کاهش پیدا میکند.
-
نسبت به روشهای قدیمی مانند ()String.Format خوانایی بیشتری دارد.
-
میتوان عبارتهای #C را مستقیماً داخل {} قرار داد.
به همین دلیل، یادگیری $ یکی از نکات مهم برای افرادی است که قصد یادگیری حرفهای زبان #C را دارند.

جمعبندی
علامت دلار در سیشارپ ($) برای استفاده از قابلیت String Interpolation به کار میرود.با قرار دادن $ قبل از یک رشته، میتوانیم متغیرها و عبارتهای #C را با استفاده از {} مستقیماً داخل متن قرار دهیم.
برای مثال:
string name = "Ali";
int score = 95;
Console.WriteLine($"Student {name} has scored {score}.");
این روش نسبت به اتصال رشتهها با + یا استفاده از ()String.Format معمولاً سادهتر و خواناتر است.
تسلط بر String Interpolation، قالببندی رشتهها و کاربرد علامت $ در #C میتواند به شما کمک کند کدهای تمیزتر و حرفهایتری بنویسید.
این قابلیت در پروژههای مختلف، از برنامههای کنسولی گرفته تا پروژههای ASP.NET و نرمافزارهای بزرگ، کاربرد فراوانی دارد.



کاربران ما
شما هم نظرتون با ما دریاره “علامت دلار در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید