
چارچوب دات نت تعدادی متد برای گرفتن ورودی از کاربر در اختیار شما قرار میدهد. حال می خواهیم در باره متد ()ReadLine یکی دیگر از متدهای کلاس Console بحث کنیم که یک مقدار رشته ای را از کاربر دریافت می کند. متد ()ReadLine فقط مقدار رشته ای را که توسط کاربر نوشته میشود را بر می گرداند. همانطور که از نام این متد پیداست، تمام کاراکترهایی را که شما در محیط کنسول تایپ میکنید تا زمانی که دکمه Enter را می زنید می خواند. هر چه که در محیط کنسول تایپ میشود از نوع رشته است. برای تبدیل نوع رشته به انواع دیگر میتوانید از کلاس Convert و متدهای آن استفاده کنید. به برنامه زیر توجه کنید:
using System; public class Program { public static void Main() { string name; int age; double height; Console.Write("Enter your name: "); name = Console.ReadLine(); Console.Write("Enter your age: "); age = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter your height: "); height = Convert.ToDouble(Console.ReadLine()); //Print a blank line Console.WriteLine(); //Show the details you typed Console.WriteLine("Name is {0}.", name); Console.WriteLine("Age is {0}.", age); Console.WriteLine("Height is {0}.", height); } }
Enter your name: John
Enter your age: 18
Enter your height: 160.5
Name is John.
Age is .81
Height is .5.061
ابتدا 3 متغیر را برای ذخیره داده در برنامه تعریف میکنیم (خطوط 7 و 8 و 9). برنامه از کاربر میخواهد که نام خود را وارد کند (خط 11).
در خط 12 شما به عنوان کاربر نام خود را وارد میکنید. مقدار متغیر نام، برابر مقداری است که توسط متد ()ReadLine خوانده میشود.
از آنجایی که نام از نوع رشته است و مقداری که از متد ()ReadLine خوانده میشود هم از نوع رشته است در نتیجه نیازی به تبدیل انواع نداریم.
سپس برنامه از ما سن را سؤال می کند (خط 13). سن، متغیری از نوع صحیح (int) است، پس نیاز است که ما تبدیل از نوع رشته به صحیح را انجام دهیم. بنابراین از کلاس و متد ()Convert.ToInt32 برای این تبدیل استفاده میکنیم (خط 14). مقدار بازگشتی از این متد در متغیر سن قرار می گیرد. چون متغیر قد (height) را از نوع double تعریف کرده ایم برای تبدیل رشته دریافتی از محیط کنسول به نوع double باید از متد ()ToDouble مربوط به کلاس Convert استفاده کنیم (خط 16). علاوه بر آنچه گفته شد شما میتوانید از متد ()Parse برای تبدیل های بالا استفاده کنید، مانند:
age = int.Parse(Console.ReadLine()); height = double.Parse(Console.ReadLine());
توجه داشته باشد که این متد برای تبدیل رشته به رقم استفاده می شود، یعنی رشته ای که توسط کاربر تایپ می شود، باید فقط عدد باشد.