سلام
کار با رشته ها
شی String تو نیم اسپیس System هست و میتونه رشته های یونیکد (دو بایتی) رو ذخیره کنه.
یعنی باید using namespace System; رو تو نیم اسپیس برنامه تون معرفی کنید. البته بطور پیش فرض معرفی شده.
String ^str1;
این دستور یه رشته به نام str1 میسازه.
کد:
String ^str1, ^str2, ^str3;
str1 = "www.iranvig.com";
str2 = "forum.iranled.com";
str3 = str1 + str2;
textBox1->Text = str1;
خط اول سه تا رشته معرفی شده.
خط 2 و 3 رشته های اول و دوم توسط اپراتور = مقداردهی شدن.
خط 4 اپراتور + دو رشته میگیره و خروجیش رشته حاصل اتصال رشته اول و دومه. البته برای اتصال دستور concat هم هست.
کد:
String ^str1, ^str2;
str1 = "www.iranvig.com";
str2 = "forum.iranled.com";
str1 = str1->Concat("site : " ,str1, " - ", str2);
//site : www.iranvig.com - forum.iranled.com
دستور Insert :
دو تا پارامتر میگیره. اولی شماره یه کاراکتر مربوط به خود رشته صدا زننده تابع. پارامتر دوم یه رشته که به اون قسمت از رشته صاحب تابع اضافه میشه.
کد:
str1 = "www.iran.com";
str1 = str1->Insert(8, "vig");
//www.iranvig.com
دستور Remove :
پارامتر اول شماره یه کاراکتر رو میگیره. اگر پارامتر دوم استفاده نشه از اون کاراکتری که مشخص شده تا آخر پاک میشه.
کد:
str1 = "www.iranvig.com";
str1 = str1->Remove(11);
//www.iranvig
پارمتر دوم تعداد کاراکتریه که می خواین پاک کنین.
کد:
str1 = "www.iranvig.com";
str1 = str1->Remove(8, 3);
//www.iran.com
دستور Replace :
تو رشته صاحب تابع میگرده و هرجا یه رشته برابر با پارامتر اول پیدا کرد، رشته تابع دوم رو به جای اون میذاره.
کد:
str1 = "www.iranvig.com";
str1 = str1->Replace("vig", "led");
//www.iranled.com
دستور Substring :
برای جدا کردن یه زیر رشته از رشته اصلی. مثل دستور Replace به دو شکل استفاده میشه.
پارامتر اول شماره کارکتری که جدا کردن باید از اونجا شروع بشه.
کد:
str1 = "www.iranvig.com";
str1 = str1->Substring(4);
//iranvig.com
پارامتر دوم تعداد کارکتری که می خوان جدا کنین. اگه مقدار دهی نشه زیر رشته تا آخر رشته اصلی جدا میشه)
کد:
str1 = "www.iranvig.com";
str1 = str1->Substring(4, 7);
//iranvig
دستور ToLower و ToUpper
تبدیل حروف بزرگ و کوچیک . . .
کد:
str1 = "www.IRANvig.com";
str1 = str1->ToLower();
//www.iranvig.com
دستور Trim :
تمام فضاهای خالی ابتدا و انتهای رشته رو پاک می کنه.
کد:
str1 = " www.iranvig.com ";
str1 = str1->TrimStart();
//www.iranvig.com
TrimStart و TrimEnd رو هم امتحان کنید . . .
دستور Compare :
دو تا رشته میگیره. حرف به حرف رشته ها رو با هم مقایشه می کنه. اگه تا آخر کاراکتر ها برابر بودن صفر برمیگردونه. در غیر اینطورت 1 یا -1 بر میگرده (به ترتیب حروف الفبا)
کد:
str1 = "www.iranvig.com";
int result = str1->Compare(str1, "abc");
//1
Length تعداد کاراکتر های رشته رو میده.
کد:
str1 = "www.iranvig.com";
int result = str1->Length;
//15
از اپراتور [ ] برای دسترسی به یه کارکتر رشته استفاده میشه.
کد:
str1 = "www.iranvig.com";
textBox1->Text = str1[4].ToString();
//i
اگه دقت کنید بعضی از توابع مثل concat و compare یه طوری عجیب استفاده شدن. انگار میشه هیچ ربطی به شی صدا زننده تابع نداشته باشن. درسته! یه جورایی friend تعریف شدن.
به نظر من اینطوری قشنگ تره !
کد:
String ^str1, ^str2;
str1 = "iranvig.com";
str2 = String::Concat("www.", str1);
//www.iranvig.com
دیگه چیزی به ذهنم نمیرسه !
سوال داشتین تاپیک جدید باز کنین . . .