تبدیل مقادیر به رشته با استفاده از متد ToString در سیشارپ
متد ToString در سیشارپ برای تبدیل اعداد، تاریخ، Boolean و سایر مقادیر به رشته و قالببندی خروجی استفاده میشود.
27 مرداد 1405
لینک کوتاه
تبدیل مقادیر به رشته با استفاده از متد ToString در سیشارپ
در زبان #C تقریباً در تمام پروژههای واقعی با تبدیل انواع داده به رشته یا string سروکار داریم. ممکن است بخواهیم یک عدد را برای نمایش به کاربر آماده کنیم،تاریخ را با فرمت مشخص نمایش دهیم، مقدار یک شیء را به متن تبدیل کنیم یا اطلاعات را برای ثبت در لاگ و خروجی برنامه به شکل رشتهای در اختیار داشته باشیم.
یکی از سادهترین و پرکاربردترین روشها برای این کار، استفاده از متد ()ToString است.
متد ToString در سیشارپ در کلاس پایه System.Object تعریف شده و بسیاری از انواع داده و کلاسها آن را برای ارائه یک نمایش متنی از مقدار خود به کار میبرند.
برای همین، شناخت نحوه استفاده درست از ()ToString میتواند در خوانایی، نمایش اطلاعات و پردازش دادهها بسیار مهم باشد.
متد ToString در سیشارپ چیست؟
()ToString یک متد برای دریافت نمایش متنی یک مقدار یا شیء است.سادهترین مثال:
int number = 100;
string result = number.ToString();
Console.WriteLine(result);
در این مثال متغیر number از نوع int است، اما خروجی ()ToString از نوع string خواهد بود.
نتیجه:
100
در واقع عدد 100 به رشته "100" تبدیل شده است.
استفاده از این متد زمانی اهمیت پیدا میکند که یک مقدار غیررشتهای را بخواهیم در متنی قرار دهیم یا با دادهای از نوع string کار کنیم.
تبدیل عدد به رشته با ToString
یکی از رایجترین کاربردهای ()ToString تبدیل اعداد به رشته است.برای نمونه:
int age = 25;
string text = age.ToString();
Console.WriteLine(text);
در اینجا نوع age برابر با int و نوع text برابر با string است.برای انواع عددی دیگر نیز میتوان از همین روش استفاده کرد:
double price = 125.75;
string result = price.ToString();
یا:
decimal salary = 25000000.50m;
string result = salary.ToString();
همچنین برای long، float و سایر انواع عددی نیز ToString() قابل استفاده است.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
تبدیل Boolean به رشته در سی شارپ
مقادیر true و false نیز میتوانند با ()ToString به رشته تبدیل شوند:bool isActive = true;
string result = isActive.ToString();
Console.WriteLine(result);
خروجی:
True
اگر مقدار متغیر false باشد:
False
این قابلیت برای ساخت پیامهای متنی، ثبت اطلاعات در لاگ یا تولید خروجی بسیار کاربردی است.
تبدیل تاریخ به رشته با ToString در سی شارپ
یکی از مهمترین کاربردهای ()ToString، تبدیل تاریخ و زمان به متن است.برای مثال:
DateTime date = DateTime.Now;
string result = date.ToString();
Console.WriteLine(result);
در این حالت، تاریخ براساس قالب و فرهنگ فعلی سیستم نمایش داده میشود.
اما یکی از ویژگیهای مهم ()ToString این است که میتوان فرمت تاریخ را نیز مشخص کرد.
مثلاً:
DateTime date = DateTime.Now;
string result = date.ToString("yyyy/MM/dd");
Console.WriteLine(result);
خروجی میتواند مشابه این باشد:
2026/08/16
در اینجا:yyyy سال را نشان میدهد.
MM ماه را نمایش میدهد.
dd روز را نمایش میدهد.
بنابراین ()ToString فقط برای تبدیل ساده مقدار نیست و امکان قالببندی داده را نیز فراهم میکند.
قالببندی عدد با ToString در سی شارپ
یکی دیگر از مزایای ()ToString امکان مشخص کردن فرمت عددی است.برای مثال:
double number = 1250.50;
string result = number.ToString("N2");
Console.WriteLine(result);
خروجی بسته به فرهنگ فعلی میتواند چیزی مشابه این باشد:
1,250.50
در فرمت N2، عدد با جداکننده هزارگان و دو رقم اعشار نمایش داده میشود.
همچنین میتوان از فرمتهای دیگری مانند C برای نمایش ارز استفاده کرد:
decimal price = 2500000;
string result = price.ToString("C");
Console.WriteLine(result);
البته خروجی دقیق فرمتهای وابسته به فرهنگ، مانند C، به تنظیمات Culture سیستم نیز وابسته است.

قالببندی درصد با ToString
برای نمایش درصد نیز میتوان از فرمت P استفاده کرد.مثال:
double progress = 0.75;
string result = progress.ToString("P0");
Console.WriteLine(result);
خروجی:
75%
در این مثال مقدار 0.75 به شکل 75 درصد نمایش داده میشود.
ToString برای اعشار
در برنامههایی مانند حسابداری، فروشگاه اینترنتی و سیستمهای مالی، قالببندی مقادیر decimal اهمیت زیادی دارد.مثلاً:
decimal amount = 125000.5m;
string result = amount.ToString("N2");
Console.WriteLine(result);
در این حالت مقدار با دو رقم اعشار نمایش داده میشود.
استفاده از decimal برای بسیاری از محاسبات مالی مناسبتر از انواع اعشاری دیگر است و هنگام نمایش نیز میتوان با ()ToString قالب موردنظر را اعمال کرد.
تبدیل مقدار nullable با ToString
یکی از نکات مهم هنگام استفاده از ()ToString، توجه به مقادیر null است.برای مثال:
string? name = null;
string result = name.ToString();
این کد میتواند باعث ایجاد NullReferenceException شود، چون name مقدار null دارد.
برای جلوگیری از این مشکل میتوانید قبل از فراخوانی متد، مقدار را بررسی کنید:
string? name = null;
string result = name?.ToString() ?? "";
یا در موارد مناسب از:
string result = Convert.ToString(name);
استفاده کنید.بنابراین هنگام کار با ()ToString همیشه باید احتمال null بودن مقدار را در نظر بگیرید.
استفاده از ToString در ترکیب رشتهها
فرض کنید متغیری از نوع int داریم و میخواهیم آن را داخل یک متن قرار دهیم:int age = 30;
string message = "سن کاربر: " + age.ToString();
Console.WriteLine(message);
خروجی:
سن کاربر: 30
در #C امروزی، برای چنین موقعیتهایی معمولاً استفاده از String Interpolation خواناتر است:int age = 30;
string message = $"سن کاربر: {age}";
Console.WriteLine(message);
در اینجا کامپایلر تبدیل لازم را انجام میدهد و نیازی نیست بهصورت دستی ()ToString بنویسیم.
تفاوت ToString و Convert.ToString در سی شارپ
دو روش رایج برای تبدیل مقدار به رشته عبارتاند از:value.ToString();
و:
Convert.ToString(value);
تفاوت مهم آنها در برخورد با null است.
برای نمونه:
object? value = null;
فراخوانی:
value.ToString();
میتواند باعث خطای NullReferenceException شود.اما:
Convert.ToString(value);
در چنین شرایطی میتواند مقدار رشتهای خالی برگرداند.بنابراین اگر احتمال null وجود دارد، باید روش مناسب را با توجه به نیاز برنامه انتخاب کنید.

ToString در Enum
در #C برای تبدیل یک مقدار enum به رشته نیز میتوان از ()ToString استفاده کرد.مثال:
enum Status
{
Pending,
Approved,
Rejected
}
Status status = Status.Approved;
string result = status.ToString();
Console.WriteLine(result);
خروجی:
Approved
این قابلیت هنگام نمایش وضعیتها در رابط کاربری یا تولید لاگ بسیار مفید است.
بازنویسی ToString در کلاسهای سفارشی
یکی از قابلیتهای مهم #C این است که میتوانیم متد ()ToString را در کلاس خودمان override کنیم.فرض کنید کلاس زیر را داریم:
class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
اگر بنویسیم:
Product product = new Product
{
Name = "Laptop",
Price = 50000000
};
Console.WriteLine(product.ToString());
نمایش پیشفرض معمولاً نام نوع کلاس خواهد بود.
برای ارائه خروجی بهتر، میتوان ()ToString را بازنویسی کرد:
class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
public override string ToString()
{
return $"{Name} - {Price:N0} تومان";
}
}
اکنون:
Console.WriteLine(product.ToString());
خروجی خواناتری خواهد داشت.این قابلیت مخصوصاً برای مدلهای دامنه، لاگها، Debug کردن و نمایش ساده اطلاعات اشیاء مفید است.
استفاده از CultureInfo در ToString
در برنامههای چندزبانه و بینالمللی، قالب نمایش عدد و تاریخ اهمیت زیادی دارد.در این شرایط میتوان CultureInfo را به ()ToString منتقل کرد.
مثال:
using System.Globalization;
decimal price = 1250.50m;
string result = price.ToString(
"N2",
CultureInfo.InvariantCulture
);
این کار باعث میشود قالب خروجی تا حد مشخصی مستقل از تنظیمات منطقهای سیستم باشد.
برای برنامههایی که با دادههای مالی، فایلهای CSV، APIها یا سیستمهای بینالمللی کار میکنند، مدیریت Culture اهمیت ویژهای دارد.
جمعبندی
متد ()ToString در سیشارپ یکی از سادهترین و پرکاربردترین روشها برای تبدیل مقادیر به رشته است.با استفاده از این متد میتوان اعداد، مقادیر Boolean، تاریخها، Enumها و حتی اشیای سفارشی را به شکل متنی نمایش داد.
یکی از مهمترین مزایای ()ToString قابلیت قالببندی است.
با تعیین فرمت مناسب میتوان تاریخ را با ساختار دلخواه، عدد را با تعداد مشخصی رقم اعشار، مبلغ را با فرمت مالی و مقدار اعشاری را به صورت درصد نمایش داد.
در عین حال باید هنگام استفاده از آن به مقادیر null توجه کرد و در پروژههایی که دادهها به Culture وابسته هستند، قالب مناسب را انتخاب کرد.
در نهایت، برای تبدیل ساده مقادیر به متن، ()ToString ابزار بسیار مناسبی است؛ اما برای تبدیل دادههای پیچیده به JSON، XML یا سایر ساختارهای استاندارد،
بهتر است از روشهای تخصصی Serialization استفاده شود.
سوالات متداول تبدیل مقادیر به رشته با استفاده از متد ToString
ToString در سیشارپ چیست؟
()ToString متدی است که یک نمایش رشتهای از مقدار یا شیء در اختیار برنامه قرار میدهد.چگونه عدد را به رشته تبدیل کنیم؟
میتوانید بهسادگی از این روش استفاده کنید:int number = 100;
string result = number.ToString();
آیا ToString برای تاریخ قابل استفاده است؟
بله. علاوه بر تبدیل تاریخ به رشته، میتوان فرمت خروجی را نیز مشخص کرد:DateTime date = DateTime.Now;
string result = date.ToString("yyyy/MM/dd");
تفاوت ToString و Convert.ToString چیست؟
تفاوت مهم آنها در رفتار هنگام برخورد با null است.فراخوانی مستقیم () ToString روی یک مرجع null میتواند خطا ایجاد کند، در حالی که ()Convert.ToString برای چنین شرایطی رفتار متفاوتی دارد.
آیا میتوان ToString را در کلاس خودمان تغییر داد؟
بله. با override میتوان خروجی متنی سفارشی برای کلاس ایجاد کرد:public override string ToString()
{
return "Custom text";
}


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