منو

تماس با ما

کار با رشته در سی شارپ شامل انجام وظایف متنوعی مانند ساخت رشته، افزودن یک یا چند کاراکتر جدید به آن، شمردن تعداد کاراکتر‌ها، استخراج بخش خاصی از رشته و سایر عملیات مانند این موارد است. رشته یا استرینگ در سی شارپ به توالی از کاراکتر‌های یونیکد (از «U+0000» تا «U+FFFF») گفته می‌شود. با کمک این کاراکتر‌ها متن‌های بزرگ و با معنی ساخته می‌شود. در این زبان، می‌توانید با رشته‌ به عنوان آرایه‌ای از کاراکتر‌ها کار کنید. روش رایج‌ این است که از کلمه «String» برای تعریف رشته استفاده کنید. این کلمه کلیدی، نام مستعاری برای کلاس System.String است.

آنچه در این مطلب می‌آموزید:
  •  
    با متد‌های ساخت شیء‌ رشته در سی شارپ آشنا شده و روش کار هر کدام را با مثال بررسی می‌کنید.
  •  
    متوجه می‌‌‌شوید که چطور از کلاس string برای ساخت رشته در سی شارپ استفاده کنید.
  •  
    روش محاسبه طول رشته‌های داده شده در سی شارپ را بر اساس کاراکتر یاد می‌گیرید.
  •  
    روش استفاده از حلقه foreach  در #C را به منظور پیمایش کاراکتر‌های رشته می‌آموزید.
  •  
    یاد می‌گیرید که چطور بخش‌های خاصی از رشته را از درون آن استخراج کنید.
  •  
    به کمک جدولی ساده با متدهای مهم کار با رشته در سی شارپ آشنا می‌شوید.
کار با رشته در سی شارپ – به زبان ساده + مثال

در این مطلب از مجله فرادرس چند متد مهم درباره کار با رشته در سی شارپ را بررسی می‌کنیم. اول از همه، روش‌های مختلف ساخت رشته را با کمک مثال‌های ساده اجرا می‌کنیم. سپس رایج‌ترین متدهای مورد استفاده در برنامه‌ها را توضیح می‌دهیم. در نهایت هم پرکاربردترین متدهای کلاس System.String را به صورت جدول ساده‌ای معرفی می‌کنیم.

ساخت شیء رشته در سی شارپ

در سی شارپ، با کمک هر کدام از روش‌های زیر می‌توان شیء رشته‌ای ساخت.

  • با تخصیص دادن کاراکتر‌های رشته‌ای به متغیر‌های از نوع string
  • با استفاده از سازنده کلاس string
  • با استفاده از عملگر مخصوص «الحاق رشته‌‌» (String Concatenation) یا همان +
  • دسترسی به رشته از طریق صفات یا فراخوانی متدهایی که رشته برمی‌گردانند.
  • استفاده از متدهای قالب‌بندی برای تبدیل مقدار یا شیء خاصی به رشته

به منظور درک بهتر این برنامه‌ها باید با معنی کدهای سی شارپ آشنا باشید. به همین دلیل تلاش کرده‌ایم که در بعضی موارد کدها را با جزئیات بیشتری توضیح بدهیم.

روش ساخت رشته توضیح ساده
مقداردهی مستقیم قرار دادن متن داخل متغیر string
سازنده کلاس String ساخت رشته با استفاده از کلاس String
عملگر + چسباندن چند رشته به هم
با کمک متد یا صفت گرفتن رشته از متد یا ویژگی
استفاده از متدهای قالب‌بندی تبدیل مقدار یا شیء به رشته

مثالی درباره ساخت شیء رشته

در مثال پایین از تمام تکنیک‌های فهرست شده در بخش بالا برای ساخت رشته استفاده کرده‌ایم.

using System;
namespace StringApplication {
   class Program {
      static void Main(string[] args) {
         // Creating a string using a string literal and concatenation
         string fname, lname;
         fname = "Mostafa";
         lname = "Rashidi";
using System;
namespace StringApplication {
   class Program {
      static void Main(string[] args) {
         // Creating a string using a string literal and concatenation
         string fname, lname;
         fname = "Mostafa";
         lname = "Rashidi";

         char[] letters = {'H', 'e', 'l', 'l', 'o'};
         string[] sarray = {
            "Hello",
            "From",
            "Tutorials",
            "Point"
         };

         string fullname = fname + " " + lname;
         Console.WriteLine("Full Name: {0}", fullname);

         // Creating a string using a character array
         string greetings = new string(letters);
         Console.WriteLine("Greetings: {0}", greetings);

         // Joining an array of strings
         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);
      }
   }
}


         char[] letters = {'H', 'e', 'l', 'l', 'o'};
         string[] sarray = {
            "Hello",
            "From",
            "Tutorials",
            "Point"
         };

         string fullname = fname + " " + lname;
         Console.WriteLine("Full Name: {0}", fullname);

         // Creating a string using a character array
         string greetings = new string(letters);
         Console.WriteLine("Greetings: {0}", greetings);

         // Joining an array of strings
         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);
      }
   }
}
 
مشاهده کامل کدها

بعد از کامپایل کردن و اجرای کدهای بالا، خروجی زیر در کنسول #C نمایش داده می‌شود.

Full Name: Mostafa Rashidi
Greetings: Hello
Message: Hello From Faradars Blog
Message: Message sent at 05:58 ب.ظ on چهارشنبه, 19 مهر 1391
 

در فهرست پایین مهم‌ترین نکات کد بالا را خط به خط توضیح داده‌ایم.

  1. ابتدا برای استفاده از کلاس‌هایی مثل Console و String و DateTime فضای نام System را به محیط کدنویسی وارد می‌کنیم.
  2. سپس «فضای نامی» (Namespace) به نام StringApplication تعریف می‌شود. کد برنامه در داخل این «Namespace» قرار می‌گیرد.
  3. در ادامه کلاس Program ساخته شده و متد Main به‌عنوان نقطه شروع اجرای برنامه تعریف می‌شود.
  4. داخل متد Main دو متغیر رشته‌ای fname و lname ساخته می‌شوند. از این دو متغیر برای ذخیره نام و نام خانوادگی استفاده خواهیم کرد.
  5. سپس آرایه‌ای از نوع char تعریف می‌کنیم. این آرایه، حروف کلمه Hello را جداگانه نگه می‌دارد.
  6. بعد از آن، آرایه دیگری از نوع رشته‌ و شامل چند کلمه تعریف می‌کنیم.
  7. با استفاده از عملگر + نام و نام خانوادگی (مقادیر موجود در متغیر‌های fname و lname) به هم چسبانده می‌شوند و در متغیر fullname قرار می‌دهیم.
  8. در خط ۱۹، مقدار fullname با دستور Console.WriteLine روی صفحه چاپ می‌شود.
  9. در مرحله بعد (خط ۲۲) با استفاده از آرایه letters، رشته جدیدی ساخته می‌شود و در متغیر greetings قرار می‌گیرد.
  10. این رشته نیز با دستور Console.WriteLine روی خروجی نمایش داده می‌شود.
  11. بعد از آن، با دستور String.Join تمام رشته‌های داخل آرایه sarray با فاصله " " به هم متصل کرده و در متغیر message ذخیره می‌کنیم.
  12. این پیام را نیز با دستور Console.WriteLine چاپ می‌کنیم.
  13. در بخش آخر، شیئی از نوع DateTime با تاریخ و ساعت مشخص ساخته می‌شود.
  14. سپس با String.Format متن قالب‌بندی‌شده‌ای می‌سازیم. این متن، زمان و تاریخ ارسال پیام را نشان می‌دهد.
  15. در پایان، این پیام قالب‌بندی‌شده را نیز با استفاده از دستور Console.WriteLine روی صفحه نمایش می‌دهیم.