تبدیل داده ها با متد Parse
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
تبدیل داده ها با متد Parse
همانطور که در پست متد خواندن اطلاعات در کنسول اپلیکیشن مطالعه کردید، متد ReadLine هر نوع دادهای که کاربر وارد میکند را برای ما برنامهنویسها به عنوان رشته بر میگرداند. اما همیشه نوع داده رشته مورد نیاز ما نبوده و باید راهی برای تبدیل رشته به یک نوع داده دیگر پیدا کنیم.
برای اینکار ۴ روش کلی وجود داشته که فعلا ۳ روش مرسوم و ابتداییشو خدمتتون عرض میکنم و روش چهارم انشالله در پستهای پایانی مبحث boxing و unboxing بصورت مفصل برایتان توضیح خوام داد.
روش اول : تبدیل دادهها با استفاده از متد Parse
روش دوم : تبدیل دادهها با استفاده از متد TryParse
روش سوم: تبدیل دادهها با استفاده از کلاس Convert
۱. اولین روش، استفاده از متد Parse
ورودی متد parse فقط نوع داده رشته است، اما این متد میتواند رشته را به نوع دادهای که فراخوانی کننده متد Parse بوده تبدیل کند.
به مثال زیر دقت کنید:
Console.Write("plese enter your age: ");
int age = int.Parse(Console.ReadLine);
در این مثال، دستور Console.ReadLine ورودی کاربر را به عنوان رشته دریافت کرده و سپس آن را به عنوان ورودی به متد Parse ارسال میکند، متد Parse هم تلاش میکند تا آن رشته را تبدیل به int کند (چرا که int فراخوانی کننده متد Parse بوده)؛ حالا اگر متد Parse بتواند عملیات تبدیل string به int را انجام دهد، آن داده را در ظرفی با شناسه age از نوع int میریزد.
آیا متد Parse فقط قابلیت تبدیل string به int را دارد؟
خیر، متد Parse رشته ورودی خود را به نوع داده فراخوانی کننده خود تبدیل میکند، در مثال قبل فراخوانی کننده ما نوع دادهای int بوده و در مثال زیر نوع دادهای float متد Parse را فراخوانی میکند:
Console.Write("plese enter your avg: ");
float avg = float.Parse(Console.ReadLine);
در نتیجه در این مثال نیز همانند مثال قبل، دستور Console.ReadLine ورودی کاربر را به عنوان رشته دریافت کرده و سپس به عنوان ورودی به متد Parse ارسال میکند، متد Parse هم تلاش میکند تا آن رشته را تبدیل به نوع دادهای float کند، اگر بتواند عملیات تبدیل strnig به float را انجام دهد، آن داده را در ظرفی با شناسه avg از نوع float میریزد.
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.