رشته ها در زبان سی شارپ – آموزش زبان سی شارپ

csharp strings 4520 تصویر

رشته ها در زبان سی شارپ

در زبان برنامه نویسی C# شما می توانید از رشته ها به عنوان آرایه از کاراکترها استفاده کنید. روش رایجی که برای تعریف رشته ها استفاده می شود، استفاده از کلمه کلیدی string است. کلمه کلیدی string به عنوان یک نام مستعار برای کلاس System.String می باشد.

ایجاد یک نمونه از String

برای ایجاد یک نمونه یا شیء از نوع String می توانید از روش های زیر استفاده کنید:

  • از طریق اختصاص رشته ای به یک متغیر از نوع String
  • استفاده از سازنده (constructor) کلاس String
  • استفاده از عملگر چسباندن رشته (+)
  • از طریق فراخوانی یک پراپرتی یا متد که مقدار رشته ای باز میگرداند
  • از طریق فراخوانی متد فرمت بندی برای تبدیل یک مقدار یا شیء به رشته

مثال زیر این موضوع را نشان می دهد:

using System;
namespace StringApplication {
   class Program {
      static void Main(string[] args) {
         //from string literal and string concatenation
         string fname, lname;
         fname = "Rowan";
         lname = "Atkinson";
			
         char []letters= { 'H', 'e', 'l', 'l','o' };
         string [] sarray={ "Hello", "From", "Tutorials", "Point" };
         
         string fullname = fname + lname;
         Console.WriteLine("Full Name: {0}", fullname);
         
         //by using string constructor { 'H', 'e', 'l', 'l','o' };
         string greetings = new string(letters);
         Console.WriteLine("Greetings: {0}", greetings);
         
         //methods returning string { "Hello", "From", "Tutorials", "Point" };
         string message = String.Join(" ", sarray);
         Console.WriteLine("Message: {0}", message);
         
         //formatting method to convert a value
         DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
         string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);
         Console.WriteLine("Message: {0}", chat);
      }
   }
}

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان سی شارپ اجرا شود، نتیجه زیر را تولید خواهد کرد:

Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, October 10, 2012

خاصیت های کلاس String

کلاس String شامل خاصیت های زیر است:

ردیف توضیحات
۱ Chars

کاراکتر موجود در اندیس مشخص شده را باز میگرداند. برای نمونه str[2] کاراکتری که در خانه سوم قرار دارد را باز میگرداند.

۲ Length

تعداد کاراکترهای موجود در رشته جاری را باز می گرداند.

متدهای کلاس String

کلاس String تعداد زیادی متد دارد که به شما در کار با شیء هایی که از نوع رشته هستند، کمک می کند. در جدول زیر تعدادی از متدهای رایج این کلاس را مشاهده می کنید:

ردیف توضیحات
۱ public static int Compare(string strA, string strB)

به منظور مقایسه دو رشته با یک دیگر مورد سافتاده قرار می گیرد. اگر دو رشته برابر باشند، مقدار صفر، اگر رشته اول بزرگتر باشد مقدار ۱ و اگر رشته دوم بزرگتر باشد مقدار -۱ را باز میگرداند.

۲ public static int Compare(string strA, string strB, bool ignoreCase )

دقیقا مانند متد بالاست این تفاوت که در این متد می توان مشخص کرد که هنگام مقایسه به بزرگ یا کوچک بودن حروف توجه شود یا خیر.

۳ public static string Concat(string str0, string str1)

دو رشته را به هم متصل می کند.

۴ public static string Concat(string str0, string str1, string str2)

سه رشته را به هم متصل می کند.

۵ public static string Concat(string str0, string str1, string str2, string str3)

چهار رشته را به هم متصل می کند.

۶ public bool Contains(string value)

رشته مشخص شده را در داخل رشته جاری جستجو می کند. اگر پیدا شود، true در غیر این صورت false باز میگرداند.

۷ public static string Copy(string str)

یک رشته جدید با مقدار مشخص شده باز میگرداند.

۸ public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count)

تعداد مشخصی از کاراکترها را از یک موقعیت مشخص شده در شیء String به یک موقعیت مشخص در آرایه ای از کاراکترهای یونیکد کپی می کند.

۹ public bool EndsWith(string value)

بررسی می کند که آیا رشته جاری با مقدار مشخص شده تمام شده است یا خیر.

۱۰ public bool Equals(string value)

بررسی می کند که آیا رشته مشخص شده با رشته جاری مقدار یکسانی دارند یا خیر.

۱۱ public static bool Equals(string a, string b)

بررسی می کند که آیا دوس رشته مشخص شده مقدار یکسانی دارند یا خیر.

۱۲ public static string Format(string format, Object arg0)

به منظور فرمت بندی رشته استفاده می شود.

۱۳ public int IndexOf(char value)

اندیس اولین وقوع از کاراکتر مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود.

۱۴ public int IndexOf(string value)

اندیس اولین وقوع از رشته مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود.

۱۵ public int IndexOf(char value, int startIndex)

اندیس اولین وقوع از کاراکتر مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود. پارامتر دوم موقیعتی که جستجو از آن شروع می شود را مشخص می کند.

۱۶ public int IndexOf(string value, int startIndex)

اندیس اولین وقوع از رشته مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود. پارامتر دوم موقیعتی که جستجو از آن شروع می شود را مشخص می کند.

۱۷ public int IndexOfAny(char[] anyOf)

اندیس اولین وقوع از هر کاراکتری که در آرایه ورودی وجود دارد، در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود.

۱۸ public int IndexOfAny(char[] anyOf, int startIndex)

اندیس اولین وقوع از هر کاراکتری که در آرایه ورودی وجود دارد، در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود. جستجو از اندیس مشخص شده شورع می شود.

۱۹ public string Insert(int startIndex, string value)

مقدار پارامتر دوم را از اندیس مشخص شده در رشته جاری قرار می دهد و رشته جدید را باز میگرداند.

۲۰ public static bool IsNullOrEmpty(string value)

null یا خالی بودن رشته مشخص شده را بررسی می کند.

۲۱ public static string Join(string separator, params string[] value)

تمام عناصر یک آرایه رشته ای را با استفاده از جدا کننده مشخص شده، به هم متصل می کند.

۲۲ public static string Join(string separator, string[] value, int startIndex, int count)

تمام عناصر یک آرایه رشته ای را با استفاده از جدا کننده مشخص شده، به هم متصل می کند.

۲۳ public int LastIndexOf(char value)

اندیس آخرین وقوع از کاراکتر مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود.

۲۴ public int LastIndexOf(string value)

اندیس آخرین وقوع از رشته مشخص شده را در رشته جاری را باز میگرداند. این اندیس از صفر شروع می شود.

۲۵ public string Remove(int startIndex)

کاراکترهایی که بعد از اندیس مشخص شده قرار دارند را حذف کرده و رشته جدید را باز میگرداند.

۲۶ public string Remove(int startIndex, int count)

تعداد مشخصی از کاراکترهایی که بعد از اندیس مشخص شده قرار دارند را حذف کرده و رشته جدید را باز میگرداند.

۲۷ public string Replace(char oldChar, char newChar)

تمام oldChar های موجود در رشته جاری را با newChar جایگزین می کند و رشته جدید را باز میگرداند.

۲۸ public string Replace(string oldValue, string newValue)

تمام oldValue های موجود در رشته جاری را با newValue جایگزین می کند و رشته جدید را باز میگرداند.

۲۹ public string[] Split(params char[] separator)

یک آرایه از رشته که شامل زیر رشته های رشته فعلی است را باز میگرداند. این زیر رشته ها با کاراکتر مشخص شده از یک دیگر جدا می شوند.

۳۰ public string[] Split(char[] separator, int count)

یک آرایه از رشته که شامل زیر رشته های رشته فعلی است را باز میگرداند. این زیر رشته ها با کاراکتر مشخص شده از یک دیگر جدا می شوند. پارامتر count تعداد بیشنه برای زیر رشته ها را مشخص می کند.

۳۱ public bool StartsWith(string value)

بررسی می کند که آیا رشته جاری با مقدار مشخص شده شروع شده است یا خیر.

۳۲ public char[] ToCharArray()

رشته جاری را به آرایه ای از کاراکترهای یونیکد تبدیل می کند و باز میگرداند.

۳۳ public char[] ToCharArray(int startIndex, int length)

رشته جاری را به آرایه ای از کاراکترهای یونیکد تبدیل می کند و باز میگرداند. پارارمتر startIndex موقعیت شروع و پارامتر length تعداد کاراکترهایی که تبدیل می شوند را مشخص می کند.

۳۴ public string ToLower()

یک کپی از رشته را که به صورت lowercase تبدیل شده است را باز میگرداند.

۳۵ public string ToUpper()

یک کپی از رشته را که به صورت uppercase تبدیل شده است را باز میگرداند.

۳۶ public string Trim()

تمام کاراکتر فضای خالی قبل و بعد از رشته را حذف می کند.

برای مشاهده لیست کامل می توانید به مستندات سایت مایکروسافت مراجعه کنید.

مثال

مثال های زیر کاربرد برخی از متدهای گفته شده فوق را نشان می دهند:

مقایسه رشته ها

using System;
namespace StringApplication {
   class StringProg {
      static void Main(string[] args) {
         string str1 = "This is test";
         string str2 = "This is text";

         if (String.Compare(str1, str2) == 0) {
            Console.WriteLine(str1 + " and " + str2 +  " are equal.");
         } else {
            Console.WriteLine(str1 + " and " + str2 + " are not equal.");
         }
         Console.ReadKey() ;
      }
   }
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

This is test and This is text are not equal.

رشته در رشته ای دیگر

using System;
namespace StringApplication {
   class StringProg {
      static void Main(string[] args) {
         string str = "This is test";
         
         if (str.Contains("test")) {
            Console.WriteLine("The sequence 'test' was found.");
         }
         Console.ReadKey() ;
      }
   }
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

The sequence 'test' was found.

گرفتن زیر رشته

using System;
namespace StringApplication {
   class StringProg {
   
      static void Main(string[] args) {
         string str = "Last night I dreamt of San Pedro";
         Console.WriteLine(str);
         string substr = str.Substring(23);
         Console.WriteLine(substr);
      }
   }
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

San Pedro

وصل کردن رشته ها

using System;
namespace StringApplication {
   class StringProg {
      static void Main(string[] args) {
         string[] starray = new string[]{"Down the way nights are dark",
            "And the sun shines daily on the mountain top",
            "I took a trip on a sailing ship",
            "And when I reached Jamaica",
            "I made a stop"};

         string str = String.Join("\n", starray);
         Console.WriteLine(str);
      }
   }
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop

نوشته رشته ها در زبان سی شارپ – آموزش زبان سی شارپ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *