50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

مقایسه دو خط کد سی شارپ برای استفاده از String ها : انتخاب بهترین

سلام دوستان این دو خط کد چه فرقی با هم دارند؟

label3.Text += Factorial(int.Parse(textBox1.Text));

و

label3.Text = Factorial(int.Parse(textBox1.Text)).ToString();

چرا در حالت اول نیاز به متد ToString() و تبدیل کردن به String نیست؟

پرسیده شده در 1395/02/04 توسط

2 پاسخ

0

وقتی مقدار غیر رشته ای رو میخواین وارد متغیر از نوع رشته ای بکنید توابع ویژوال استدیو به صورت پیش فرض این کار رو انجام میدن و نیازی به استفاده از تابع tostring نیست. یعنی دومی هم ضرورتی نداره tostring داشته باشه.

پاسخ در 1395/02/04 توسط
4

با سلام به شما Itpro ای عزیز.

در خط اول به خاطر این که خصوصیت Text در labelیک متغیر string است می توان آن را با هر نوع دیگری با علامت + قرار داد. و نتیجه این کار این است که این دومقدار به هم می چسبد و یک رشته .string تولید می شود. که می توان آن را به راحتی در داخل خصوصیت Text قرار داد. خط اول در اصل به شکل زیر بوده است:

	
label3.Text =label3.Text+ Factorial(int.Parse(textBox1.Text));

حال در خط دوم به خاطر این که مقدار بازگشتی تابع factorial عددی است پس باید اول آن را به رشته تبدیل کنیم و سپس در داخل رشته Text بریزیم برای همی از متد ToString استفاده می کنیم.

پاسخ در 1395/02/04 توسط

پاسخ شما