char در سیشارپ
char در سیشارپ نوع دادهای برای نگهداری یک کاراکتر است و میتواند حروف، اعداد و نمادهای مختلف را در خود ذخیره کند است.
12 شهریور 1405
لینک کوتاه
char در سیشارپ
در زبان برنامهنویسی #C، نوع داده char یکی از انواع داده مهم برای کار با کاراکترها است.هر زمان بخواهیم یک حرف، عدد، علامت یا یک کاراکتر خاص را در برنامه ذخیره کنیم، میتوانیم از char استفاده کنیم.
برای مثال، حروف انگلیسی مانند A، حروف فارسی مانند ش و حتی کاراکترهایی مانند @ و # میتوانند در یک متغیر از نوع char قرار بگیرند.
char در سی شارپ چیست؟
char یک نوع داده مقداری (Value Type) در سیشارپ است که برای نگهداری یک کاراکتر Unicode استفاده میشود.برای تعریف یک متغیر از نوع char کافی است کلمه char را قبل از نام متغیر قرار دهیم:
char letter = 'A';
نکته مهم این است که مقدار char باید داخل تککوتیشن (' ') قرار بگیرد، نه دابلکوتیشن.مثلاً:
char firstName = 'A';
char number = '5';
char symbol = '@';
هر یک از این متغیرها فقط یک کاراکتر را ذخیره میکنند.
تفاوت char و string در سی شارپ
یکی از سوالات رایج هنگام یادگیری #C این است که تفاوت char و string چیست؟پاسخ ساده است:
- char برای ذخیره یک کاراکتر استفاده میشود.
- string برای ذخیره یک رشته از چند کاراکتر استفاده میشود.
char letter = 'A';
string name = "Ali";
در مثال بالا، متغیر letter تنها حرف A را نگهداری میکند، در حالی که name شامل چند کاراکتر است.
همچنین نحوه نوشتن آنها متفاوت است:
char x = 'A';
string y = "A";
در خط اول از تککوتیشن و در خط دوم از دابلکوتیشن استفاده شده است.
محدوده و اندازه char در سی شارپ
نوع char در سیشارپ بر اساس استاندارد Unicode کار میکند و اندازه آن ۱۶ بیت (۲ بایت) است.محدوده مقدار char از U+0000 تا U+FFFF است.
بنابراین میتوان از آن برای نمایش طیف بسیار گستردهای از کاراکترها استفاده کرد.
برای مثال:
char english = 'A';
char persian = 'ش';
char digit = '9';
char special = '#';
استفاده از Unicode باعث میشود char فقط به حروف انگلیسی محدود نباشد و بتواند بسیاری از حروف و نمادهای زبانهای مختلف را نیز نمایش دهد.
مقداردهی char در سی شارپ
برای مقداردهی یک متغیر char میتوان مستقیماً یک کاراکتر را به آن اختصاص داد:char grade = 'A';
همچنین میتوان از مقدار عددی مربوط به کد Unicode یک کاراکتر استفاده کرد:
char letter = '\u0041';
Console.WriteLine(letter);
خروجی:
A
در این مثال u0041\ نشاندهنده کاراکتر A در Unicode است.
کاراکترهای ویژه در char
در #C میتوان برخی کاراکترهای خاص را با استفاده از Escape Characterها نمایش داد.چند نمونه کاربردی عبارتاند از:
char newline = '\n';
char tab = '\t';
char quote = '\'';
char backslash = '\\';
برای مثال \n نشاندهنده رفتن به خط بعد و \t نشاندهنده ایجاد فاصله Tab است.
تبدیل char به int در سی شارپ
از آنجا که char با کدهای Unicode سروکار دارد، میتوان یک مقدار char را به عدد تبدیل کرد.مثلاً:
char letter = 'A';
int code = letter;
Console.WriteLine(code);
خروجی:
65
عدد 65 کد Unicode مربوط به A است.
البته بهتر است توجه داشته باشیم که این عدد، کد کاراکتر است و لزوماً نباید آن را با مفهوم شماره موقعیت یک حرف در همه زبانها اشتباه گرفت.
تبدیل int به char
برعکس حالت قبل نیز امکانپذیر است. میتوان یک عدد را به char تبدیل کرد:int code = 65;
char letter = (char)code;
Console.WriteLine(letter);
خروجی:
A
در اینجا با استفاده از Cast، عدد 65 به کاراکتر مربوط به آن تبدیل شده است.
بررسی نوع کاراکتر با متدهای Char
سیشارپ متدهای مختلفی برای بررسی کاراکترها در اختیار برنامهنویس قرار میدهد.این متدها در کلاس Char قرار دارند.
برای مثال، برای بررسی اینکه یک کاراکتر عدد است یا خیر، میتوان از ()Char.IsDigit استفاده کرد:
char character = '7';
bool result = Char.IsDigit(character);
Console.WriteLine(result);
خروجی:
True
برای بررسی حروف نیز میتوان از ()Char.IsLetter استفاده کرد:char character = 'A';
Console.WriteLine(Char.IsLetter(character));
این متد در صورتی که مقدار یک حرف باشد، true برمیگرداند.
برخی متدهای کاربردی دیگر عبارتاند از:
-
Char.IsLetter(c)
-
Char.IsDigit(c)
-
Char.IsWhiteSpace(c)
-
Char.IsUpper(c)
-
Char.IsLower(c)
-
Char.ToUpper(c)
-
Char.ToLower(c)
تبدیل حروف بزرگ و کوچک با char
یکی دیگر از کاربردهای char تبدیل حروف کوچک و بزرگ است.مثلاً:
char letter = 'a';
char upper = Char.ToUpper(letter);
Console.WriteLine(upper);
خروجی:
A
برای تبدیل یک حرف به حالت کوچک نیز میتوان از ()Char.ToLower استفاده کرد:
char letter = 'A';
char lower = Char.ToLower(letter);
Console.WriteLine(lower);
خروجی:
a
استفاده از char در شرطها
نوع char در دستورات شرطی نیز کاربرد زیادی دارد.فرض کنید میخواهیم بر اساس یک گزینه، عملیات خاصی انجام دهیم:
char option = 'Y';
if (option == 'Y')
{
Console.WriteLine("Yes");
}
else
{
Console.WriteLine("No");
}
در این مثال مقدار متغیر option با کاراکتر Y مقایسه میشود.
همچنین میتوان از switch برای بررسی چند کاراکتر استفاده کرد:
char grade = 'A';
switch (grade)
{
case 'A':
Console.WriteLine("Excellent");
break;
case 'B':
Console.WriteLine("Good");
break;
default:
Console.WriteLine("Unknown");
break;
}
نکته مهم درباره char و چندبایتی بودن کاراکترها
یک نکته مهم در مورد char این است که در NET، .char یک واحد کد ۱۶ بیتی UTF-16 است، نه الزاماً یک «کاراکتر قابل مشاهده» در تمام حالتها.برخی نمادهای Unicode خارج از محدوده یک واحد UTF-16 قرار میگیرند و با دو char نمایش داده میشوند.
بنابراین برای پردازش کامل Unicode، در بعضی سناریوها استفاده از System.Text.Rune میتواند انتخاب مناسبتری باشد.
با این حال، برای بسیاری از کارهای روزمره مانند بررسی حروف، اعداد و علائم، char کاملاً کاربردی و مناسب است.
کاربردهای char در پروژههای واقعی
char در بسیاری از برنامههای سیشارپ استفاده میشود.چند نمونه از کاربردهای آن عبارتاند از:
بررسی حروف و اعداد واردشده توسط کاربر
-
اعتبارسنجی رمز عبور
-
پردازش رشتهها
-
بررسی کاراکترهای خاص
-
ساخت منوهای متنی
-
تبدیل حروف کوچک و بزرگ
-
پردازش فایلهای متنی
-
الگوریتمهای جستجو و پردازش متن
-
برنامههای آموزشی و الگوریتمی
string text = "Hello";
foreach (char c in text)
{
Console.WriteLine(c);
}
در این حالت هر کاراکتر رشته به صورت جداگانه در متغیر c قرار میگیرد.
جمعبندی
نوع داده char در سی شارپ برای نگهداری یک واحد کد UTF-16 و کار با کاراکترها استفاده میشود.این نوع داده برخلاف string برای ذخیره مجموعهای از کاراکترها طراحی نشده و معمولاً فقط یک واحد char را نگهداری میکند.
یادگیری char برای برنامهنویسی #C اهمیت زیادی دارد، زیرا هنگام کار با رشتهها، اعتبارسنجی اطلاعات، پردازش متن و بررسی حروف و اعداد بارها با آن مواجه خواهید شد.
مهمترین نکته این است که مقدار char با تککوتیشن نوشته میشود:
char letter = 'A';
در مقابل، برای string از دابلکوتیشن استفاده میکنیم:
string text = "Hello";
با شناخت تفاوت char و string و همچنین متدهایی مانند IsLetter، IsDigit، ToUpper و ToLower، میتوانید بخش مهمی از عملیات مربوط به پردازش کاراکترها در سیشارپ را بهسادگی انجام دهید.




کاربران ما
شما هم نظرتون با ما دریاره “char در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید