خوش آمدید.
توی این ویدیو قراره به تجزیه (parsing) نگاه کنیم.
و تجزیه به ما اجازه می‌ده داده‌ها رو از یه نوع داده به یه نوع داده دیگه تبدیل کنیم.
ولی این برای همه چیز کار نمی‌کنه، باشه.
و می‌تونیم خیلی راحت با این روش به خطاها بربخوریم.
پس باید مطمئن بشیم که نوع درست رو وارد می‌کنیم، وگرنه برنامه‌مون کرش می‌کنه.
این برای الان خوبه.
ولی بعداً، چند ساعت دیگه، قراره روش‌هایی رو بررسی کنیم که چطور می‌تونیم این خطاها رو کاملاً
برطرف کنیم و اساساً حتی به همچین مشکلی برنخوریم.
خب، حالا چطور می‌تونیم هر چیزی که از ReadLine می‌گیریم، که از نوع stringه، همون‌طور که قبلاً
پوشش دادیم، به یه نوع داده عدد صحیح تبدیل کنیم که بتونیم توی متغیر عدد من ذخیره کنیم.
وجود داره، باشه parsing خب، یه چیزی به نام تجزیه .
پس می‌تونیم از int.Parse استفاده کنیم.
یه متد به نام Parse توی int وجود داره.
این یه struct فقط خواندنیه، هر چی که یعنی.
بعداً یه کم بهش می‌پردازیم.
ولی چند تا متد داره که به ما اجازه می‌ده کارهای باحالی با اعداد انجام بدیم، مثل گرفتن چیزی
که stringه و تبدیلش به نوع داده عدد، نوع داده int.
ولی این فقط با اعداد کار می‌کنه، مشخصاً.
اینجا می‌بینیم که می‌گه نمای رشته‌ای یه عدد رو به معادل عدد صحیح ۳۲ بیتی با علامتش
تبدیل می‌کنه.
باشه.
پس قراره از این متد Parse استفاده کنم.
و بعد توی کروشه‌ها، اونجا stringم رو می‌ذارم.
پس رشته‌ای که قراره بگیرم، این دستور Console.ReadLine هست.
چون این اینجا عملاً همونیه که انگار یه string داشته باشم.
مشخصاً می‌تونم این کار رو هم بکنم.
بگیم این خط رو اینجا می‌ذارم، می‌ذارمش پایین و بعد از ورودی کاربر استفاده می‌کنم چون حالا ورودی کاربر
هم از نوع stringه.
باشه.
بذارید هر دو خط رو اینجا بذارم که بتونید هر دو خط رو ببینید.
ولی این یکی رو کامنت می‌کنم که هر دو عملاً نتیجه یکسانی داشته باشن.
ولی اینجا داریم می‌گیم که هر چیزی که کاربر وارد کرده رو توی یه string ذخیره می‌کنیم، و بعد
از اون string استفاده می‌کنیم تا به یه عدد تجزیه‌اش کنیم.
ولی این فقط اگه یه عدد وارد کنیم کار می‌کنه.
بیایید اجراش کنیم و عدد ۵ رو وارد کنیم.
و بعد می‌گه شما ۵ وارد کردید.
پس یهو کار می‌کنه.
برنامه‌مون کرش نمی‌کنه.
بذارید دوباره اجراش کنم، ولی این بار واقعاً یه متن وارد می‌کنم.
پس می‌گم سلام.
و می‌بینید که برنامه‌مون بوم، منفجر می‌شه.
اینجا یه خطا می‌گیرم.
می‌گه استثنای مدیریت‌نشده، System.FormatException.
رشته ورودی سلام فرمت درستی نداشت، پس نمی‌تونست از سلام یه عدد بسازه.
پس باید یه عدد کامل، یه عدد صحیح وارد کنید.
اگه چیزی مثل ۱.۵ وارد کنم، باز همون خطا رو می‌گیرم چون سعی کرد رشته ۱.۵ رو، که
باز هم یه عدد نیست، یه رشته‌ست، به عدد ۱.۵ تبدیل کنه.
ولی ما فقط اعداد کامل رو قبول می‌کنیم، پس شاید بهتره اینجا دقیق‌تر باشیم و به جای «یه عدد وارد کنید»،
بگیم «یه عدد کامل وارد کنید».
باشه.
حالا بیایید دوباره اجراش کنیم.
واقعاً بیایید دوباره اجراش کنیم.
یه عدد کامل وارد کنید، من ۱۵ رو وارد می‌کنم و می‌گه شما ۱۵ وارد کردید.
پس این کار می‌کنه.
حالا دیدید که چطور می‌تونید از تجزیه (parsing) استفاده کنید تا ورودی کاربر که از یه نوع داده stringه
رو به یه نوع داده دیگه، int، تبدیل کنید.
بعداً می‌بینیم که چطور می‌تونیم این کار رو با اعداد اعشاری هم انجام بدیم.
اعداد ممیز شناور.
و برای این کار از doubleها استفاده می‌کنیم.
ولی این برای یه ویدیوی جداگونه‌ست.
پس برای این یکی می‌گم خیلی راضیم.
توی ویدیوی بعدی قراره جنبه جمع رو اضافه کنیم، باشه.
پس اونجا می‌بینمتون.