🎁 تخفیف ویژه بلک فرایدی آتریا | از 3 تا 10 آذر ماه 🎁

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

در این بخش به آموزش رشته ها در سی شارپ می پردازیم و شما را با مفاهیم مرتبط با String در #C آشنا می کنیم.

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

در زبان سی شارپ و بقیه زبان های برنامه نویسی، رشته از تعدادی کاراکترهای Unicode تشکیل شده است. متن درون رشته می تواند یک کاراکتر، یک کلمه یا یک متنی طولانی باشد که درون جفت کوتیشن ها قرار گرفته است. برای مثال، سه نمونه زیر هر سه رشته هستند:

آموزش سی شارپ

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

شما می توانید با استفاده از روش های زیر یک رشته را ایجاد کنید:

  • اختصاص دادن یک متغیر برای رشته
  • استفاده از عملگر + برای اتصال رشته ها
  • با استفاده از فرخوانی متد رشته ها برای تبدیل کردن یک متغیر به رشته

سی شارپ یک نوع داده رشته برای ذخیره کردن رشته ها تعریف کرده است. همانطور که در مثال زیر می بینید، یک متغیر از نوع رشته می تواند تعریف شده و سپس به آن یک رشته اختصاص داده شود.

آموزش سی شارپ

اندازه حداکثری برای یک شی رشته در حافظه 2 گیگ یا چیزی حدود 1 میلیارد کاراکتر می باشد، اما در عمل این اندازه به Ram و پردازنده سیستم کاربر وابسته می باشد. در سی شارپ برای تعریف کردن یک متغیر از نوع رشته می توانید از کلمه کلیدی string استفاده کنید.

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

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

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


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

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

آموزش سی شارپ

سؤال این است که چگونه می توانید از این نقل قول ها در داخل خود رشته استفاده کنیم؟

سی شارپ دارای یک کاراکتر بک اسلش (\) می باشد که  با استفاده از آن قبل یکسری از کاراکترهای خاص می توانید آن ها را درون یک رشته قرار دهید.

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

سی شارپ دارای یکسری کاراکترهای کنترلی (escaping character) می باشد که با استفاده از این کاراکترهای کنترلی می توانید فرمت یا الگوی نمایش یک رشته را در پنجره کنسول مشخص کنید. برای اینکار شما باید از یک بک اسلش (\) قبل از کاراکترهای کنترلی استفاده کنید مانند n ،\t\ و ... .

به عنوان مثال \n  یک خط جدید ایجاد می کند، \t به اندازه یک tab فاصله ایجاد می کند.

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

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

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

شما همچنین می توانید از @ و \ استفاده کرده تا یک رشته چند خطی را تعریف کنید.

آموزش string در زبان سی شارپ

نکته: برای استفاده از جفت کوتیشن در رشته فقط از بک اسلش (\) استفاده کنید. @ فقط برای کاراکترهای خاص در سی شارپ می باشد.

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


الحاق رشته در سی شارپ

با استفاده از عملگر + چندین رشته می توانند به یکدیگر متصل شوند.

آموزش string در زبان سی شارپ

رشته در سی شارپ یک عنصر غیرقابل تغییر می باشد. به این معنا که بعد از اینکه یک رشته در حافظه ایجاد شد نمی تواند تغییر داده شود. هر بار که شما رشته ها را به هم الحاق می کنید، .NET CLR یک فضای حافظه جدید برای رشته های متصل شده می سازد و به همین دلیل پیشنهاد می شود که اگر قصد متصل کردن بیشتر از 5 رشته را دارید، به جای رشته از StringBuilder استفاده کنید.


الحاق رشته ها (روش جدید)

الحاق رشته به روش زیر، روش بهتری برای متصل کردن رشته ها می باشد.

در زبان C# نسخه 6 می توان از یک کاراکتر ($) برای شناساندن رشته هایی که قرار است بهم متصل شوند استفاده کرد. رشته متصل شده به این روش ترکیبی از رشته استاتیک و متغیر رشته می باشد و متغیرهای رشته درون آکولاد قرار می گیرند.

آموزش رشته ها در C#

در مثال بالا، علامت $ نشان دهنده رشته الحاق شده می باشد و علامت های {} شامل متغیرهای رشته ای برای الحاق شدن به یک رشته می باشد. در حقیقت {} به عنوان یک جانگهدار عمل می کنند و به جای آن ها باید مقدار متغیر درون آن ها در رشته قرار گیرد.


ویژگی رشته ها در سی شارپ

  • رشته های سی شارپ شی هستند.
  • رشته ها از نوع داده های ارجاعی هستند.
  • رشته ها غیرقابل تغییر هستند.
  • رشته ها می توانند null باشند.

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

رشته ها نمونه هایی از کلاس های System.String یا System.Text.StringBuilder می باشند. از آنجا که رشته ها شی هستند، چندین متد برای انجام دادن کار متفاوت با رشته ها وجود دارد که ما در مقاله بعدی به طور مفصل راجع به این متدهای رشته در سی شارپ صحبت می کنیم.


رشته ها غیرقابل تغییر هستند

همانطور که گفته شد بعد از اینکه رشته ای را به وجود آوردیم، نمی توانیم آن را تغییر دهیم. تمام متدهای رشته و عملگرهای سی شارپ که به منظور اصلاح یک رشته به وجود می آیند، جواب ها را در یک رشته جدید برمی گردانند. در مثال پایین، وقتی محتویات رشته های s1 و s2 به یک رشته واحد تبدیل شدند، دو رشتۀ اصلی هنوز اصلاح نشده اند. عملگر += یک رشته جدید برمی گرداند که شامل محتویات ترکیب شده می باشد. شی جدید ایجاد شده به متغیر s1 اختصاص داده می شود و شی اصلی که به s1 اختصاص داده شده بود به دلیل اینکه هیچ ارجاعی به متغیرهای دیگر ندارد توسط سیستم عامل حذف شده و اصطلاحا به garbage collection می رود.

آموزش رشته ها در C#

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

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


رشته های (Null) و رشته های خالی (Empty)

یک رشته خالی نمونه ای از یک شی System.String بوده که شامل هیچ کاراکتری نمی باشد. رشته های خالی در کد نویسی اغلب در زمان هایی استفاده می شوند که می خواهید یک فیلد خالی را نشان دهید. می توان به شکل زیر به رشته های خالی مقدار اولیه داد:

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

از سوی دیگر، یک رشته null به هیچ نمونه ای از شی System.String اشاره نمی کند و هر گونه تلاش برای فراخوانی یک متد به رشته null می تواند باعث پیام خطای  NullReferenceException شود. در هر صورت، شما می توانید از رشته های null در عملیات های اتصال و مقایسه با رشته های دیگر استفاده کنید. مثال های زیر چند نمونه که در آن ها ارجاع به رشته null موفقیت آمیز بوده و یا با شکست مواجه شده است را نشان می دهد.

آموزش زبان C#


مشخصه های کلاس String

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

کلاس رشته دو مشخصه زیر را دارد:


Chars: کاراکتر موجود در اندیس مشخص شده را باز میگرداند. برای نمونه str[2] کاراکتری که در خانه سوم قرار دارد را باز میگرداند.

مثال:

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

Length: به منظور بدست آوردن تعداد کاراکترها در رشته فعلی به کار می رود. مثال:

آموزش زبان C#

آموزش سی شارپ آموزش #C آموزش رشته ها در سی شارپ String در سی شارپ آموزش زبان سی شارپ

مقالات این دسته بندی