کار کردن با رشته های یک امر معمول برای
برنامه نویسان سی شا رپ به حساب می آید . فریمورک دات نت ابزاهای بسیار متنوعی را برای
کار با رشته ها فراهم کرده است.
اولین چیزی که باید در کار با رشته ها در
سی شارپ مد نظر داشت این است که رشته ها در سی شارپ از نوع رفرنس هستند . نوع های رفرنس
در دات نت بر روی پشته ی مدریت شده قرار دارند پس رشته ها در سی شارپ توسط جمع کننده
ی دور ریز ها(garbage collector ) مدیریت
میشوند و این باعث میشود تا آن ها به طور خودکار از بین نروند وقتی که
از محدوده ی دید خارج میشوند.
تعریف آرایه ها در سی شارپ خیلی ساده است
. در پایین مثالی از تعریف آرایه ها را میبینید :
string s1;
توجه داشته باشید که رشته ها در سی
شارپ هیچ گونه مقدار پیشفرضی ندارند و شما برای دسترسی به آن ها باید ابتدا به آن ها
مقدار بدهید :
Normal
0
false
false
false
EN-US
X-NONE
FA
MicrosoftInternetExplorer4
|
string
s1;
|
خطای هنگام اجرا در بردارد
|
Literal1.Text
= s1;
|
ساده ترین را برای تعریف یک رشته و استفاده
از آن
|
string s2="";
|
|
Literal1.Text
= s2;
|
اگر برای یک رشته مقدار اولیه ای قرار ندهیم
و بخواهبم از آن استفاده کنیم با خطا روبرو میشویم چون در سی شارپ برای استفاده از
هر منغیر و شیئی ابتدا باید آن را مقدار دهی کرد.
تعداد زیادی مند برای کار با رشته ها در
سی شارپ قرار دارد
برای مثال :
متد ToUpper تمام حروف
یک رشته را تبدیل به حروف بزرگ میکند :
;"string s1 ="hello csharpworld
;()s1.ToUpper
و حالا مقدار s1 برابر
است با HELLO CSHARP WORLD
پیوند دادن رشته ها ( String Concatenation )
سی شارپ راهی آسان برای الحاق رشته ها ایجاد
نموده : استفاده از عملگر + ( جمع )
;string s1
;"s1="Hong
;"string
s1="Kong
;"textbox1.text="s1+s1
مقدار تکست باکس 1 برابر Hong Kong خواهد
شد.
درست است که استفاده از عملگر جمع برای
الحاق رشته ها بسیار راحت است ولی این روش از لحاظ کارایی بهترین روش نیست . استفاده
از این روش باعث میشود تا شیئی دیگر از نوع رشته ساخته شود سپس مقدار آن برابر مجموع
دو رشته مورد نظر ما میشود و سپس رشته ایجاد شده در متغیر ما ریخته میشود و اگر در
برنامه ای بخواهی تا به وفور از رشته ها را با هم ترکیب کنیم این راه , راه خوبی نخواهد
بود زیرا از آن جایی که در سی شارپ هر متغیر توسط garbage
collector از
بین میرود , رشته رابط که دور از چشم ما ایجاد شده از حافظه ی رم استفاده میکند و استفاده
ی زیاد از عملگر جمع برای الحاق دو رشته در برنامه باعث استفاده ی زیاد از رم میشود
و این پیامد خوشایند نخواهد بود.
برای پیوند دادن دو رشته دات نت فریکورک
متدی را معرفی کرده که همان کار عملگر جمع را برای رشته ها میکند با این تتفاوت که
دیگر رشته میانی به وجود نخواهد آمد و در نتیجه کارایی این متد زیاد تر است
متد Append دقیقا کار
مشابه عملگر جمع را برای رشته ها انجام میدهد نحوه ی استفاده از این متد به این شکل
است :
;string s1
;"s1="Hong
;sting s2
;"s2="Kong
;(s1.Append(s2
این متد ورودی از نوع رشته دریافت کرده
و آن را در ادامه ی رشته ی نام برده شده ( در اینجا s1 ) اضافه میکند.