حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

کار با رشته ها در سی شارپ: معرفی 14 متد کلاس String

در دوره مقدماتی آموزش زبان سی شارپ، به صورت جزئی با نوع داده string آشنا شدیم و گفتیم که برای استفاده از رشته ها در زبان سی شارپ از این نوع داده استفاده می کنیم. اما نوع داده string شامل یکسری متدها است که می توان از این متدها برای مقاصد مختلف استفاده کرد. در این مطلب به بررسی و آشنایی با این متد ها می پردازیم. شیوه استفاده از نوع داده string بسیار ساده است، کافیست متغیری تعریف کرده و مقدار مورد نظر را داخل آن بریزیم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
string message = "Welcome to ITPro.ir"

اما همانطور که گفتیم این کلاس شامل یکسری متدها است که در ادامه به بررسی آنها خواهیم پرداخت.

1. متد Contains: این متد بررسی میکند که در رشته مورد نظر، یک عبارت مشخص وجود دارد یا خیر. مقدار بازگشتی این متد از bool است:

string message = "Welcome to ITPro.ir";
var result = message.Contains("ITPro.ir");

در رشته متغیر message، رشته ITPro.ir وجود دارد و کد بالا مقدار true بر می گرداند.

2.متد StartsWith: این متد بررسی می کند که رشته مورد نظر با رشته مشخص شده شروع می شود یا خیر. خروجی این متد از نوع bool است:

string message = "Welcome to ITPro.ir";
var result1 = message.StartsWith("ITPro.ir"); // output: false
var result2 = message.StartsWith("Welcome"); // output: true

3. متد EndsWith: در صورتی که رشته مورد نظر با رشته مشخص شده به اتمام برسد مقدار true و در غیر اینصورت مقدار false را بر میگرداند:

string message = "Welcome to ITPro.ir";
var result1 = message.EndsWith("ITPro.ir"); // output: true
var result2 = message.EndsWith("Welcome"); // output: false

4. متد Trim: این متد کاراکترهای خالی ابتدا و انتهای رشته را حذف می کند:

string message = "  Welcome to ITPro.ir     ";
string result = message.Trim(); // output: "Welcome to ITPro.ir"

*5. متدهای TrimEnd و TrimStart: این متدها به ترتیب فاصله های ابتدایی و انتهایی یک عبارت را حذف می کنند:

string message = "  Welcome to ITPro.ir     ";
var result1 = message.TrimStart(); // output: "Welcome to ITPro.ir     ";
var result2 = message.TrimEnd(); // output: "  Welcome to ITPro.ir";

*6. متد Substring:" این متد بر اساس اندیس و طول مشخص شده در پارامترهای ورودی، از داخل رشته، عبارتی را استخراج می کند:

string message = "Welcome to ITPro.ir";
var result = message.Substring(11, 8); // output: ITPro.ir

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

7. متد IndexOf: این متد، اندیس شروع یک عبارت را در یک رشته بر میگرداند. اگر یک عبارت چندین بار در رشته مورد نظر تکرار شده باشد، اولین اندیس را بر میگرداند. این متد دو پارامتر دارد، اولی رشته مورد نظر برای جستجو و پارامتر دوم اندیس شروع برای جستجو که از صفر شروع می شود.

string message = "Welcome to ITPro.ir";
var result = message.IndexOf("ITPro.ir", 0); // output: 11

در صورتی که عبارت مشخص شده در رشته یافت نشود، مقدار 1- برگردانده خواهد شد.

8. متد LastIndexOf: گفتیم متد IndexOf اندیس اولین عبارتی که یافت شود را بر میگرداند. متد LastIndexOf اندیس آخرین یافته را برمیگرداند:

string message = "Welcome to ITPro.ir! ITPro is awesome!";
var result = message.LastIndexOf("ITPro.ir", 0); // output: 21

در صورتی که عبارت مشخص شده در رشته یافت نشود، مقدار 1- برگردانده خواهد شد.

9. متد Format: از این متد برای فرمت دهی رشته ها استفاده می شود. کد زیر را در نظر بگیرید:

string websiteName = "ITPro.ir";
var result = "Welcome to " + websiteName + "!";

همانطور که مشاهده می کنید، در کد بالا متغیر websiteName را به رشته مورد نظر اضافه کردیم. اما می توان با string.Format کد بالا را به صورت زیر نوشت:

string websiteName = "ITPro.ir";
var result = string.Format("Welcome to {0}!", websiteName);

همانطور که مشاهده می کنید، متد Format دو پارامتر گرفته، اولی رشته مورد نظر و دوم مقدار مورد نظر برای جایگزینی، دقت کنید داخل پارامتر اول، یعنی رشته ای که قصد داریم متغیر در آن جاسازی شود یک جایگاه به صورت {0} تعریف کردیم. شما می توانید هر تعداد جایگاه که از شماره 0 شروع می شود را تعریف کرده و به عنوان پارامتر های دوم تا سوم، رشته هایی که قرار است در این جایگاه ها قرار بگیرد را مشخص کنید:

var result = string.Format("Dear {0} {1}, Welcome to {2}!", "Hossein", "Ahmadi", "ITPro.ir");

10. متد Replace: این متد مقداری را با یک مقدار دیگر در رشته جایگزین می کنید:

string message = "Welcome to ITPro.ir!";
var result = message.Replace("ITPro.ir", "ITPRO.IR"); // output: Welcome to ITPRO.IR

11. متد ToUpper: بوسیله این متد کل کاراکترهای یک رشته به Uppercase تبدیل می شوند:

string message = "Welcome to ITPro.ir!";
var result = message.ToUpper(); // output: WELCOME TO ITPRO.IR!

*12. متد ToLower:" بوسیله این متد کل کاراکترهای یک رشته به LowerCase تبدیل می شوند:

string message = "Welcome to ITPro.ir!";
var result = message.ToLower(); // output: welcome to tosinso.com!

*13. متد Split:" بوسیله این متد می توان یک رشته را بر اساس کارامتر یا رشته مورد نظر جدا سازی کرد. این متد یک آرایه بر میگراند که شامل رشته های جداسازی شده هستند. در کد زیر رشته مورد نظر،با کاراکتر فاصله جداسازی می شود:

string message = "Welcome to ITPro.ir!";
var result = message.Split(' ');
foreach (var item in result)
{
    Console.WriteLine(item);
}

در کد بالا، کلمات Welcome، to و ITPro.ir به ترتیب در خروجی چاپ می شود.

*14. متد Join:" این متد یک آرایه از رشته ها را به عنوان ورودی می گیرد و آن را به هم ملحق می کند. بین هر رشته کاراکتری که به عنوان ورودی متد Join مشخص شده قرار می گیرد:

var words = new[] {"Welcome", "to", "ITPro.ir"};
var result = string.Join(" ", words); // output: "Welcome to ITPro.ir"

نویسنده: حسین احمدی

منبع: انجمن تخصصی فناوری اطلاعات ایران


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات