کد های کاربردی | C Sharp & .NET

کد ها و اسکریپت های کاربردی برنامه نویسی وب و ویندوز | Code Refactorings for C Sharp & .NET

کد های کاربردی | C Sharp & .NET

کد ها و اسکریپت های کاربردی برنامه نویسی وب و ویندوز | Code Refactorings for C Sharp & .NET

آموزش سی شارپ | متدهای کار با رشته در سی شارپ

در این پست به کار با رشته ها در سی شارپ می پردازیم. از طریق کلاس String و یا نام معادل آن string در #C می توان اشیاء از نوع رشته ایجاد کرد. یک رشته شی است که حاوی مجموعه ای از کارکترها می باشد یا در واقع به آرایه ای از کارکترها یک رشته می گویند. String یک reference type است.

خصوصیات رشته ها

Lenght : تعداد کارکترهای موجود در رشته را مشخص می کند (طول رشته)

indexer یا [] اجازه می دهد تا به یک عنصر مشخص (کارکتر) در رشته دسترسی پیدا کنیم. همانند آرایه ها عناصر رشته از محل ۰ شروع میشود . دسترسی به عناصر رشته خارج از باند رشته باعث ایجاد استثنا (exception) IndexOutOfRange می شود.

رشته تهی به معنای رشته ای است که فاقد کارکتر باشد و با مفهوم null متفاوت است. null مقداری است که برای یک متغیر ارجاع که هنوز construct نشده است ، در نظر گرفته میشود.

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

متد Equals برابری دو شی را بررسی می کند ( آیا دو شی محتوای یکسانی دارند)

در مورد رشته ها این مقایسه به صورت lexicographical انجام می شود ( مقایسه عددی معادل Unicode کارکترها در هر دو رشته)

در مقایسه رشته می توان از عملگر == نیز استفاده کرد.

مقایسه بین رشته ها case-sensitive (حساس به حروف) است.

 

  

در دوره مقدماتی آموزش زبان سی شارپ، به صورت جزئی با نوع داده 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"

 

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.