آموزش نوع داده Char در سی شارپ به زبان ساده
نوع داده های System.Char برای نگه داشتن یک کاراکتر یونیکد واحد مانند “a” ، “z” و غیره به کار رفته است. سی شارپ یک اسم مستعار برای این سیستم دارد که char نامیده می شود. شما می توانید هنگام بیان متغیرهای char از آن استفاده کنید.
char ch;
از آنجایی که یک رشته (که در فصل بعدی مورد بحث قرار می گیرد) اساساً محدوده ای از کاراکترها می باشد؛ دات نت در واقع از لیستی از char ها را مورد استفاده قرار می دهد تا یک رشته را نمایش بدهد. این در واقع به آن معنی است که شما می توانید یک char منفرد را از یک رشته بیرون بکشید؛ یا آن را روی یک رشته تکرار کنید و هر کاراکتر را به عنوان یک نوع داده char به دست آورید:
string helloWorld = “Hello, world!”;
foreach(char c in helloWorld)
{
Console.WriteLine(c);
}
یک char یک مقدار عددی است؛ که در آن هر کاراکتر عدد خاصی در “الفبای” یونیکد دارد. تا کنون بیش از ۱۳۰,۰۰۰ کاراکتر یونیکد متفاوت وجود دارد که از الفبای لاتین/ غربی و نیز اسکریپت های تاریخی گرفته شده است. در سی شارپ؛ شما به راحتی می توانید از یک نوع داده ی char به نمایش عددی آن بروید؛ که در مثال زیر نشان داده شده است؛ این مثال را می توان نسخه گسترده ی مثال قبلی دانست:
string helloWorld = “Hello, world!”;
foreach(char c in helloWorld)
{
Console.WriteLine(c + “: ” + (int)c);
}
پایگاه داده SQL Server رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی بلافاصله ... دانلود:
به این ترتیب به سادگی با قرار دادن char در قالب عدد صحیح؛ کاراکتری در خروجی نمایش داده می شود که به دنبال آن نمایش عددی قرار می گیرد. این همچنین به آن معنی است که شما می توانید به سادگی از یک عدد به یک کاراکتر برسید. اما چرا باید این کار را انجام دهید؟ خب قطعاً می دانید که تعداد زیادی کاراکتر وجود دارد که مستقیماً از طریق کیبرد در دسترس نیست؛ مثلاً کاراکتر کپی رایت (). شما می توانید در عوض از یک جدول جستجوی یونیکد استفاده کنید؛ نسخه عددی کاراکتر مورد نیاز خود را پیدا کنید و سپس آن را به حالت کاراکتر تبدیل کنید:
char ch = (char)169;
Console.WriteLine(ch);
متد های کمک کننده Char
کلاس char تعدادی متدهای جالب کمک کننده دارد که می تواند به شما کمک کند تا نوع char را که می خواهید در حال حاضر با آن کار کنید؛ تعیین نمایید. این امر در بسیاری از موقعیت ها بسیار کاربردی است؛ مثلاً زمانی که یک اعتبار یک ورودی تأیید می شود. به مثال زیر توجه کنید:
Console.WriteLine(“Enter a single number:”);
char ch = Console.ReadKey(true).KeyChar;
if (Char.IsDigit(ch))
Console.WriteLine(“Thank you!”);
else
Console.WriteLine(“Wrong – please try again!”);
من به سادگی اولین کلیدی که توسط کاربر فشرده می شود؛ خوانده ام و سپس از متد ()Char.IsDigit استفاده کرده ام تا بررسی کند که آیا آن پارامتری که کاربر واردکرده است؛ یک عدد می باشد یا خیر. متدهای زیادی مانند این وجود دارد که می تواند نوع کاراکتر را بررسی کند. می توانیم از این متد برای تأیید اعتبار برخی رشته های ساده استفاده کنیم.
Console.WriteLine(“Write your name:”);
string name = Console.ReadLine();
bool isValid = true;
for(int i = 0; i < name.Length; i++)
{
char ch = name[i];
if((i == 0) && ((!Char.IsLetter(ch)) || (!Char.IsUpper(ch))))
{
Console.WriteLine(“The first character has to be an uppercase letter!”);
isValid = false;
break;
}
if(Char.IsDigit(ch))
{
Console.WriteLine(“No digits allowed!”);
isValid = false;
break;
}
}
if (isValid)
Console.WriteLine(“Hello, ” + name);
ما به سادگی می توانیم روی نامی که کاربر وارد می کند؛ حلقه بزنیم و از انواع نسخه های متد Is* برای بررسی این موضوع استفاده کنیم که آیا ورودی با الزامات ساده ما مطابقت دارد یا خیر. همچنین چندین متد کاربردی دیگر وجود دارد که از جمله آنها می توان به () Char.IsLetterOrDigit اشاره کرد. برای مشاهده لیست کامل متدها به documentation مراجعه کنید.
خلاصه
یک نوع داده های Char وجود دارد (به عنوان اسم مستعار System.Char به کار می رود) که برای نمایش کاراکترهای یونیکد به کار می رود. برای نمایش بیشتر از یک char؛ از یک رشته استفاده می کنید که اساساً لیستی از Charها می باشد. در مقاله بعدی در مورد رشته ها بحث خواهیم کرد.