پست 6 : تقسیمبندی رشتهها با Split
هدف: آموزش متد Split برای تبدیل یک رشته به آرایهای از رشتههای کوچکتر.
محتوا: یکی از عملیات رایج با رشتهها، تقسیمبندی آنها به بخشهای کوچکتر است. مثلاً ، اگر یک رشته شامل کلمات یا دادههای جدا شده با کاما دارید، میتوانید آن را به یک آرایه تبدیل کنید. در C#، متد Split این کار را انجام میدهد.
مثال کد:
// تقسیم با یک جداکننده
string fruits = "apple,banana,orange";
string[] fruitArray = fruits.Split(',');
Console.WriteLine("میوهها:");
foreach (string fruit in fruitArray)
{
Console.WriteLine(fruit);
}
// خروجی:
// apple
// banana
// orange
// تقسیم با چند جداکننده
string dateTime = "2025-03-13 14:30";
string[] parts = dateTime.Split('-', ' ');
Console.WriteLine("بخشهای تاریخ و زمان:");
foreach (string part in parts)
{
Console.WriteLine(part);
}
// خروجی:
// 2025
// 03
// 13
// 14:30
// حذف رشتههای خالی
string messyText = "one,,two, ,three";
string[] cleanArray = messyText.Split(',', StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("بدون رشتههای خالی:");
foreach (string item in cleanArray)
{
Console.WriteLine(item);
}
// خروجی:
// one
// two
// three
نکات کلیدی:
· ارتباط با پست بعدی: حالا که یاد گرفتیم رشتهها را تقسیم کنیم، در پست بعدی به جستجو در رشتهها میپردازیم تا ببینیم چگونه میتوانیم یک کلمه یا کاراکتر خاص را پیدا کنیم.
پست 5 : تغییر حروف بزرگ و کوچک
هدف: آموزش تبدیل حروف رشته به بزرگ یا کوچک.
محتوا: گاهی نیاز است حروف یک رشته را به بزرگ یا کوچک تبدیل کنیم، مثلاً برای استانداردسازی ورودی کاربر یا نمایش متن. C# دو متد اصلی دارد:
مثال کد:
string text = "Hello World";
string upper = text.ToUpper();
Console.WriteLine(upper); // خروجی: HELLO WORLD
string lower = text.ToLower();
Console.WriteLine(lower); // خروجی: hello world
// ترکیب با ورودی
Console.WriteLine("نام خود را وارد کنید:");
string input = Console.ReadLine();
Console.WriteLine($"نام به صورت بزرگ: {input.ToUpper()}");
نکات کلیدی:
پست 3 : الحاق رشتهها (Concatenation)
هدف: آموزش روشهای مختلف ترکیب رشتهها.
محتوا: یکی از عملیات رایج با رشتهها، الحاق یا ترکیب آنهاست. در C# چند روش برای این کار وجود دارد:
عملگر + : سادهترین روش برای اتصال رشتهها.
روش string.Concat : رشتهها را بدون اضافه کردن فاصله ترکیب میکند.
رشتههای interpolated (با $ ) : روشی خواناتر برای ترکیب متغیرها و متن.
مثال:
string firstName = "Ali";
string lastName = "Rezaei";
string fullName1 = firstName + " " + lastName;
Console.WriteLine(fullName1);
string fullName2 = string.Concat(firstName, " ", lastName);
Console.WriteLine(fullName2);
string fullName3 = $"{firstName} {lastName}";
Console.WriteLine(fullName3);
نکات کلیدی:
پست 2 : دسترسی به کاراکترها و طول رشته
هدف: یادگیری دسترسی به کاراکترهای خاص و محاسبه طول رشته.
محتوا: رشته از تعدادی کاراکتر تشکیل شده که میتوانید به کاراکترهای خاص یک رشته دسترسی پیدا کنید یا تعداد کاراکترهای آن را بشمارید.
دسترسی به کاراکترها:
با استفاده از اندیس ([]) میتوانید یک کاراکتر خاص را بخوانید.
اندیس از 0 شروع میشود.
طول رشته: خاصیت Length تعداد کاراکترهای رشته را برمیگرداند.
مثال:
string text = "Reza";
Console.WriteLine(text[0]);
Console.WriteLine(text[3]);
int length = text.Length;
Console.WriteLine($"LS: {length}");
string empty = "";
Console.WriteLine($"LES: {empty.Length}");
نکات کلیدی:
اگر اندیسی خارج از محدوده باشد (مثلاً text[10] برای رشته 4 کاراکتری)، خطای IndexOutOfRangeException رخ میدهد.
Length برای بررسی خالی بودن رشته مفید است.
دلیل اینکه میتوانیم در C# از رشته (string) با براکت و اندیس (مثل text[0] ) برای دسترسی به حروف استفاده کنیم، به علت این است که رشته ها در C# بهصورت آرایهای از کاراکترها پیادهسازی می شوند . در C#، یک string در اصل یک مجموعه از کاراکترها (char) است که بهصورت پشتسرهم در حافظه ذخیره میشوند.
رشتههای یونیکد (مثل اموجیها) ممکن است نیاز به توجه خاصی داشته باشند (در پستهای بعدی بررسی میشود).