رشتهها (Strings) در #C
رشتهها (Strings) در #C
در #C، رشتهها (Strings) برای ذخیره و مدیریت دادههای متنی استفاده میشوند. رشتهها در #C یک نوع داده خاص از کلاس string هستند که در واقع نوعی آرایه از کاراکترها میباشند.
رشتهها در #C immutable هستند، به این معنی که نمیتوانند تغییر کنند. وقتی شما یک عملیات بر روی یک رشته انجام میدهید، در واقع یک رشته جدید ساخته میشود.
۱. تعریف و استفاده از رشتهها
تعریف رشته
رشتهها میتوانند با استفاده از کوتیشنهای دوتایی (") تعریف شوند.
class Program
{
static void Main()
{
// تعریف یک رشته
string greeting = "سلام دنیا!";
// نمایش رشته
Console.WriteLine(greeting);
}
}
خروجی:
تعریف رشتههای چندخطی
برای تعریف رشتههای چندخطی (که شامل خط جدید باشند) میتوان از @ قبل از کوتیشنها استفاده کرد. این نوع رشتهها به صورت verbatim string literals شناخته میشوند.
class Program
{
static void Main()
{
// تعریف یک رشته چندخطی
string multilineString = @"این یک رشته
چندخطی است
که با استفاده از @ تعریف شده.";
Console.WriteLine(multilineString);
}
}
خروجی:
چندخطی است
که با استفاده از @ تعریف شده.
۲. عملیات مختلف روی رشتهها
طول رشته
برای بدست آوردن طول یک رشته از خاصیت Length استفاده میشود.
class Program
{
static void Main()
{
string text = "Hello, C#!";
Console.WriteLine("طول رشته: " + text.Length);
}
}
خروجی:
دسترسی به کاراکترهای یک رشته
برای دسترسی به یک کاراکتر خاص از رشته میتوان از اندیس استفاده کرد.
class Program
{
static void Main()
{
string text = "Hello, C#!";
Console.WriteLine("کاراکتر در موقعیت 7: " + text[7]);
}
}
خروجی:
جایگزینی متن در رشته
برای جایگزینی یک بخش از رشته با یک متن دیگر، از متد Replace استفاده میکنیم.
class Program
{
static void Main()
{
string text = "Hello, C#!";
string newText = text.Replace("C#", "CSharp");
Console.WriteLine(newText);
}
}
خروجی:
برش دادن رشته
برای استخراج قسمتی از یک رشته از متد Substring استفاده میشود.
class Program
{
static void Main()
{
string text = "Hello, C#!";
string subText = text.Substring(7, 3); // شروع از موقعیت 7 و 3 کاراکتر بعد
Console.WriteLine(subText);
}
}
خروجی:
جستجو در رشته
برای پیدا کردن موقعیت اولین برخورد یک کاراکتر یا زیررشته در رشته از متد IndexOf استفاده میکنیم.
class Program
{
static void Main()
{
string text = "Hello, C#!";
int index = text.IndexOf("C#");
Console.WriteLine("موقعیت C#: " + index);
}
}
خروجی:
تبدیل حروف بزرگ و کوچک
برای تبدیل رشته به حروف بزرگ یا کوچک از متدهای ToUpper و ToLower استفاده میکنیم.
class Program
{
static void Main()
{
string text = "Hello, C#!";
// تبدیل به حروف بزرگ
Console.WriteLine(text.ToUpper());
// تبدیل به حروف کوچک
Console.WriteLine(text.ToLower());
}
}
خروجی:
hello, c#!
حذف فضاهای اضافی
برای حذف فضاهای ابتدایی و انتهایی از رشته، میتوان از متد Trim استفاده کرد.
class Program
{
static void Main()
{
string text = " Hello, C#! ";
string trimmedText = text.Trim();
Console.WriteLine($"[{trimmedText}]");
}
}
خروجی:
۳. مقایسه رشتهها
برای مقایسه دو رشته در #C از متد Equals یا Compare استفاده میشود.
مقایسه دقیق رشتهها
class Program
{
static void Main()
{
string text1 = "Hello, C#!";
string text2 = "Hello, C#!";
bool areEqual = text1.Equals(text2);
Console.WriteLine("رشتهها برابرند؟ " + areEqual);
}
}
خروجی:
مقایسه رشتهها بهطور نادقیق (بیتوجه به حروف بزرگ و کوچک)
class Program
{
static void Main()
{
string text1 = "Hello, C#!";
string text2 = "hello, c#!";
bool areEqualIgnoreCase = text1.Equals(text2, StringComparison.OrdinalIgnoreCase);
Console.WriteLine("رشتهها برابرند (بیتوجه به حروف بزرگ و کوچک)? " + areEqualIgnoreCase);
}
}
خروجی:
۴. پیوستن رشتهها
برای پیوستن دو یا چند رشته به یکدیگر، میتوان از متد Concat یا اپراتور + استفاده کرد.
استفاده از اپراتور +
class Program
{
static void Main()
{
string firstName = "Ali";
string lastName = "Reza";
string fullName = firstName + " " + lastName;
Console.WriteLine(fullName);
}
}
خروجی:
استفاده از متد Concat
class Program
{
static void Main()
{
string firstName = "Ali";
string lastName = "Reza";
string fullName = string.Concat(firstName, " ", lastName);
Console.WriteLine(fullName);
}
}
خروجی:
۵. تبدیل انواع دادهها به رشته
برای تبدیل انواع دادهها (مانند عدد، تاریخ و ...) به رشته از متد ()ToString استفاده میشود.
مثال: تبدیل عدد به رشته
class Program
{
static void Main()
{
int number = 123;
string numberAsString = number.ToString();
Console.WriteLine("عدد به رشته تبدیل شده: " + numberAsString);
}
}
خروجی:
مثال: تبدیل تاریخ به رشته
class Program
{
static void Main()
{
DateTime currentDate = DateTime.Now;
string dateAsString = currentDate.ToString("yyyy-MM-dd");
Console.WriteLine("تاریخ به رشته تبدیل شده: " + dateAsString);
}
}
خروجی:
جمعبندی
- رشتهها در #C نوعی داده برای ذخیره اطلاعات متنی هستند.
- میتوانیم از متدهای مختلفی مثل Length، Substring، Replace، ToUpper و ... برای مدیریت و دستکاری رشتهها استفاده کنیم.
- رشتهها immutable هستند، یعنی تغییرات در رشتهها باعث ایجاد یک رشته جدید میشود.
- برای مقایسه رشتهها میتوان از Equals و Compare استفاده کرد.
