گرفتن ورودی از کاربر
چارچوب دات نت تعدادی متد برای گرفتن ورودی از کاربر در اختیار شما قرار میدهد. حال میخواهیم درباره متد ()ReadLine یکی دیگر از متدهای کلاس Console بحث کنیم که یک مقدار رشتهای را از کاربر دریافت میکند. متد ()ReadLine فقط مقدار رشتهای را که توسط کاربر نوشته میشود را بر میگرداند. همانطور که از نام این متد پیداست، تمام کاراکترهایی را که شما در محیط کنسول تایپ میکنید تا زمانی که دکمه enter را میزنید میخواند. هر چه که در محیط کنسول تایپ میشود از نوع رشته است. برای تبدیل نوع رشته به انواع دیگر میتوانید از کلاس Convert و متدهای آن استفاده کنید. به برنامه زیر توجه کنید :
1: using System; 2: 3: public class Program 4: { 5: public static void Main() 6: { 7: string name; 8: int age; 9: double height; 10: 11: Console.Write("Enter your name: "); 12: name = Console.ReadLine(); 13: Console.Write("Enter your age: "); 14: age = Convert.ToInt32(Console.ReadLine()); 15: Console.Write("Enter your height: "); 16: height = Convert.ToDouble(Console.ReadLine()); 17: 18: //Print a blank line 19: Console.WriteLine(); 20: 21: //Show the details you typed 22: Console.WriteLine("Name is {0}.", name); 23: Console.WriteLine("Age is {0}.", age); 24: Console.WriteLine("Height is {0}.", height); 25: } 26: }
Enter your name: John Enter your age: 18 Enter your height: 160.5 Name is John. Age is 18. Height is 160.5.
ابتدا 3 متغیر را برای ذخیره داده در برنامه تعریف میکنیم (خطوط 7 و 8 و 9). برنامه از کاربر میخواهد که نام خود را وارد کند (خط 11). در خط 12 شما به عنوان کاربر نام خود را وارد میکنید. مقدار متغیر نام، برابر مقداری است که توسط متد ReadLine() خوانده میشود. از آنجاییکه نام از نوع رشته است و مقداری که از متد ReadLine() خوانده میشود هم از نوع رشته است در نتیجه نیازی به تبدیل انواع نداریم.
سپس برنامه از ما سن را سؤال میکند (خط 13). سن، متغیری از نوع صحیح (int) است، پس نیاز است که ما تبدیل از نوع رشته به صحیح را انجام دهیم. بنابراین از کلاس و متد Convert.ToInt32() برای این تبدیل استفاده میکنیم (خط 14). مقدار بازگشتی از این متد در متغیر سن قرار میگیرد. چون متغیر قد (height) را از نوع double تعریف کردهایم برای تبدیل رشته دریافتی از محیط کنسول به نوع double باید از متد و کلاس Convert.ToDouble() استفاده کنیم (خط 16). علاوه بر آنچه گفته شد شما میتوانید از متد ()parse برای تبدیلهای بالا استفاده کنید، مانند:
age = int.Parse(Console.ReadLine()); height = double.Parse(Console.ReadLine());
توجه داشته باشد که این متد برای تبدیل رشته به رقم استفاده میشود یعنی رشتهای که توسط کاربر تایپ میشود باید فقط عدد باشد.
سلام یه سوال کد این سوال چیه میشه چگونه در کنسول سی شارپ از کاربر فقط عدد دریافت کنیم؟
سلام، ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
من تاحالا چندبار مطالبی که میخاستم توی سایتتون پیدا کردم،سایتتون عالیه
موفق باشید و پایدار
ممنون، نظر لطفتونه، همچنین
ممنون از اطلاعات خوبتون
So great.Thanks alot.
you’re welcome
سلام ببخشید یه سوال میشه در مورد همین گرفتن ورودی از کاربر تو محیط windows form application توضیح بدین؟
سلام، ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
w3-farsi.com/forum
آقا واقعا براتون دعا میکنم محشره آموزش هاتون از استاد تو دانشگاه یه ترمه نمیتونیم یاد بگیریم ولی اینجا یه شبه خوب یاد گرفتم تقریبا ..ممنون ازتون ..
مرسی، نظر لطفتونه
اقا خستع نباشید
من میخوام به چند تا متغیر از یک ورودی مقدار بدم باید چی کار کنم؟
سلام، ممنون
اول اینکه ممنون میشم سوالاتتونو تو بخش پرسش و پاسخ سایت مطرح بفرمایید
دوم، ورودی هاتون از چه نوعی هستن؟ یعنی همهشون از نوع int ن یا نوعشون با هم فرق می کنه؟
معذرت مدیر
نه نوعاشون فرق میکنه…تو محیط کنسول هم هست
سلام خیلی مفید بود تشکر
سلام، لطف دارین
سلام خیلی عالی تشکر از شما و مطالب مفیدی که قرار می دید.
سلام،خواهش می کنم ، لطف دارین
عالی بود