تبلیغات
سی شارپ کده - رشته ها در سی شارپ

سی شارپ کده

چهارشنبه 16 شهریور 1390

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

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: نکته های آموزشی، 

کار کردن با رشته های یک امر معمول برای برنامه نویسان سی شا رپ به حساب می آید . فریمورک دات نت ابزاهای بسیار متنوعی را برای کار با رشته ها فراهم کرده است.

اولین چیزی که باید در کار با رشته ها در سی شارپ مد نظر داشت این است که رشته ها در سی شارپ از نوع رفرنس هستند . نوع های رفرنس در دات نت بر روی پشته ی مدریت شده قرار دارند پس رشته ها در سی شارپ توسط جمع کننده ی دور ریز ها(garbage collector )  مدیریت میشوند و این باعث میشود تا آن ها به طور خودکار از بین نروند  وقتی  که از محدوده ی دید خارج میشوند.


تعریف آرایه ها در سی شارپ خیلی ساده است . در پایین مثالی از تعریف آرایه ها را میبینید :

string s1;
 توجه داشته باشید که رشته ها در سی شارپ هیچ گونه مقدار پیشفرضی ندارند و شما برای دسترسی به آن ها باید ابتدا به آن ها مقدار بدهید :

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 ) اضافه میکند.




کاراکتر های خاص

زبان سی شارپ نیز مثل دیگر زبان های خانواده ی C دارای کاراکتر هایی است که به وصیله ی آن ها میتوان خروجی های رشته ای خاصی را به وجود آورد 
این کاراکتر های با یک بک اسلش شروع میشوند و در پی آن ها یک کاراکتر مخصوص می آید . در ادامه چند تا از این کاراکتر ها به همراه خروجی آن ها آورده شده است

'\     خروجی آن یک ' است چون در سی شارپ این کاراکتر رزرو شده است نمیتوان آن را به صورت معمولی برای چاپ در خروجی نوشت و اگر بخواهیم تا در خروجی همچین کاراکتری چاپ شود باید از عبارت '\  استفاده کنیم


"\  این عبارت دقیقا کار عبارت بالا را انجام میدهد با این تفاوت که به جای ' این کاراکترکاراکتر " را چاپ میکند


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

r\n\ این عبارت نوشته را به یک خط بعد میبرد . به طور کلی مقدار بازگشتی آن new line است و به جای استفاده از آن میتوان از دستور Environment.NewLine استفاده کرد که دقیقا کار مشابه را انجام میدهد

t\  این عبارت یک فاصله تب عمودی بر میگرداند یعنی فاصله ی معینی حدودا به اندازه ی این کلمه     تا این کلمه را ایجاد مکند و برای مرتب سازی کلمات کاربرد دارد برای مثال فرض کنید که میخواهید یه جدول ضرب درست کنید تا با زدن یک دکمه جدول ضرب به شکل رشته در یک تکست باکس به نمایش در آید اگر برنامه را اجرا کنید کلمات به هم ریخته خواهند بود ولی اگر در ادامه ی هر عدد عبارت گفته شده را بنویسید کلمات به صورت منظم چاپ خواهند شد.


نکته :

راه دیگری نیز برای چاپ کردن کاراکتر های ویژه در سی شارپ وجود دارد : کاراکتر @ 
اگر برای مثال میخواهید عبارت روبرو را در تکست باکسی چاپ کنید  '/csharp/'   
باید از عباراتی ویژه ای که برای آن ها آورده شده استفاده کنید اما اگر میخواهید کارتان ساده تر باشد 
میتوانید از کاراکتر @ قبل از شروع نوشتن رشته استفاده کنید برای مثال

 ;string s
 ;"'/s=@"'/chsarp
;textbox1.Text=s

دستور روبرو عبارت '/csharp/' را چاپ میکند
به زبان دیگر با آوردن کاراکتر @ دقیقا چیزی که تایپ کرده اید نمایش داده خواهد شد حتی اگر در رشته خود از کاراتر های رزرو شده استفاده کنید


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

نظرات() 
free std testing near me
دوشنبه 5 تیر 1396 01:40 ق.ظ
بسیار چلیپا از خود نوشتن در حالی
که ظاهر شدن دلنشین در آغاز آیا واقعا نشستن خوب با من پس از
برخی از زمان. جایی درون پاراگراف شما در واقع موفق
به من مؤمن اما فقط برای کوتاه در حالی که.
من این مشکل خود را با جهش در منطق و شما خواهد را سادگی به
پر همه کسانی شکاف. که شما که می توانید
انجام من می قطعا بود در گم.
Jamila
دوشنبه 25 اردیبهشت 1396 03:49 ق.ظ
Wow, fantastic blog layout! How long have you been blogging
for? you made blogging look easy. The overall look of your site is excellent,
let alone the content!
BHW
جمعه 25 فروردین 1396 08:26 ب.ظ
This is my first time visit at here and i am really happy to read all at
one place.
چرم
جمعه 4 اردیبهشت 1394 03:40 ب.ظ
ممنون تشکر فراوان
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :