درک معنی کد های سی شارپ برای افرادی که به تازگی وارد دنیای برنامه‌نویسی شده‌اند، ممکن است در ابتدا کمی دشوار باشد. اما با تمرین و تجربه بیشتر، فهم ساختار این کدها آسان‌تر خواهد شد. به مرور زمان و با توسعه هرچه بیشتر زبان سی شارپ، سینتکس آن‌هم ساده‌تر شده است. زیرا بعضی از موارد مثل فضاهای نام تکراری از آن حذف شده‌اند. سی شارپ، زبانی بسیار پرکاربرد، قدرتمند و همه‌منظوره است. به همین دلیل، موقعیت‌های شغلی متنوعی را برای توسعه‌دهندگان سی شارپ فراهم کرده است. کسانی که می‌خواهند به توسعه‌دهنده سی شارپ تبدیل شوند، لازم است معنی کد های سی شارپ را به‌خوبی درک کنند.

آنچه در این مطلب می‌آموزید

  • در این مطلب به شکل کلی با معنی کدهای سی شارپ آشنا می‌شوید.

  • می‌آموزید که تابع Main و چرا استفاده می‌‌شود. خودتان هم روش نوشتن Main را یاد می‌گیرید.

  • روش استفاده از متدهای کلاس Console   را برای خواندن و نوشتن داده بر روی کنسول سی شارپ می‌آموزید.

  • با متغیرهای زبان سی شارپ آشنا شده و روش تخصیص نوع به آن‌ها را می‌آموزید.

  • کلمه کلیدی Var را یاد می‌گیرید. با استفاده از آن دیگر نیازی به تعیین نوع دستی متغیرها ندارید.

  • با ساختار لیست در سی شارپ آشنا شده و روش پیمایش مقادیر آن با کمک حلقه foreach را یادمی‌گیرید.

فهرست مطالب این نوشته
997696

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

معنی کد های سی شارپ چیست؟

برای اینکه به شکل واضح متوجه شویم، معنی کد های سی شارپ چیست، لازم است با سینتکس این زبان به طور کامل آشنا شویم. ساختار زبان برنامه نویسی سی شارپ در طول سال‌های مختلف تغییراتی در جهت بهتر و خواناتر شدن کرده است. اما به‌هرحال بدون شناخت سینتکس، امکان درک معنی کد های سی شارپ و سایر زبان‌های برنامه نویسی وجود ندارد.

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

در این مطلب، مفاهیم پایه و پرکاربرد در برنامه نویسی #C را معرفی کرده‌ایم. موضوعات اصلی در فهرست زیر، نوشته شده‌اند.

  • مثال ساده‌ای درباره نوشتن داده در کنسول سی شارپ
  • خواندن داده از کنسول در سی شارپ
  • متغیرهای زبان سی شارپ
  • ثابت‌ها در سی شارپ
  • قالب‌بندی رشته در سی شارپ
یک بیضی آبی رنگ که به پنج مستطیل سبز رنگ متصل شده است.

در ادامه، این مطلب را با بررسی یکی از مثال‌های ساده شروع می‌کنیم.

مثال ساده‌ای از کدهای سی شارپ

برای بررسی معنی کد های سی شارپ، کار خود را با یکی از ساده‌ترین و قدیمی‌ترین مثال‌های این زبان برنامه نویسی شروع کرده‌ایم.

کد بالا، پیغام This is C# را در کنسول زبان سی شارپ نمایش می‌دهد. برای کمک به درک این کد، آن را به صورت خط به خط توضیح داده‌ایم.

کلمه کلیدی using  فضای نام خاصی را به برنامه بالا اضافه کرده است. «فضاهای نام» (Namespaces) برای دسته‌بندی نام‌ها و جلوگیری از تداخل بین اشیا با یکدیگر استفاده می‌شوند. با استفاده از فضای نام، می‌توان از برخورد یا تکرار نام‌های مشابه در قسمت‌های مختلف برنامه جلوگیری کرد. این خط از برنامه، یکی از عبارت‌های زبان سی شارپ است. در سی شارپ، هر عبارتی باید با کاراکتر ;  به پایان برسد.

با کمک کد بالا، فضای نام جدیدی تعریف کرده‌ایم. استفاده از فضاهای نام باعث مرتب شدن کدها می‌شود. همچنین از ایجاد مشکل بین موجودیت‌های همنام نیز جلوگیری می‌کند.

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

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

کلاس، بخش اصلی و پایه‌ای هر برنامه‌ای در سی شارپ است. کدی که در کادر بالا مشاهده می‌کنید، نحوه تعریف کلاس را نشان می‌دهد. تعریف کلاس، شامل بدنه مخصوص به خود است – در کد بالا با  نشان داده شده است – بنده کلاس، در زیر کلمه کلیدی class  قرار دارد. این بدنه با آکولاد باز {  شروع شده و با آکولاد بسته }  به پایان می‌رسد.

تابع Main

در این قسمت از مطلب تابع Main  را معرفی می‌کنیم. در کادر پایین بخش Main  از کدهای بالا را نوشته‌ایم.

در کادر بالا، تعریف تابع Main  را مشاهده می‌کنید. تابع یا متد به تکه‌ای از کدها گفته می‌شود که با هدف انجام وظیفه خاصی ساخته می‌‌شود. در برنامه نویسی برای افزایش خوانایی و کوتاه‌تر شدن کدها، به‌جای نوشتن همه دستورات پشت سر هم، آن‌ها را به تکه‌های مختلفی تقسیم می‌کنیم. به این تکه‌های کوچک متد یا تابع گفته می‌‌شود. این تکنیک باعث می‌شود که اپلیکیشن نوشته شده دارای ویژگی ماژولار شود. هر متدی دارای بدنه مخصوص به خود است. دستورات مربوط به عملکرد آن متد را در بدنه خودش می‌نویسیم. بدنه متدها را با استفاده از آکولاد‌های باز و بسته {} محصور می‌کنیم.

  • متد Main  : وظیفه مهم متد Main  راه‌اندازی اپلیکیشن است. متد Main  مانند نقطه ورود به برنامه عمل می‌کند. یعنی اینکه این متد، اولین چیزی است که در برنامه کنسولی زبان سی شارپ اجرا می‌‌شود.
  • آرگومان static: متد نوشته شده در این برنامه از نوع static  است. متد استاتیک در سی شارپ به معنای این است که از آن استفاده می‌کنیم. اما هیچ شی‌ء از کلاس Program  ایجاد نمی‌کنیم. وقتی برنامه اجرا شود، اول همین متد اجرا می‌شود. بعد از آن می‌توانیم از بقیه کلاس‌ها شیء بسازیم و از آن‌ها استفاده کنیم.
  • کلمه void: کلمه کلیدی void در برنامه نویسی به معنای آن است که این متد هیچ مقداری را به بیرون برنمی‌گرداند. متدها می‌توانند مقادیری را به عنوان نتیجه به بیرون برگردانند. اما این متد هیچ مقداری را برنمی‌گرداند.
  • آرگومانی args  : در این برنامه، متد Main، آرگومانی به نام args  دارد. این آرگومان برای ذخیره کردن داده‌های ورودی از خط فرمان به کار برده می‌‌شود. با کمک داد‌ه‌های خط فرمان، مردمی که از برنامه به صورت کنسولی استفاده می‌کنند، می‌توانند مقادیری را به آن ارسال کنند.

در پایین، دستور داخل متد Main  برای چاپ پیغام This is C# را نوشته‌ایم.

با کمک این خط از کد، پیام «This is C#» را بر روی کنسول سی شارپ چاپ می‌کنیم. برای چاپ کردن هر متنی بر روی کنسول از متد WriteLine  استفاده می‌کنیم.

  • این متد در کلاس Console  قرار دارد.
  • کلاس Console  ابزارهای استانداری برای دریافت یا نمایش داده‌ها و پیغام‌های خطا در کنسول سی شارپ فراهم کرده است.
  • توجه کنید که کلاس Console  بخشی از فضای نام System  است. دلیل اصلی وارد کردن فضای نام System  - به صورت using System;  - در بالا، استفاده از این خط کد بود.

نکته: اگر خط کد using System;  را در بالای برنامه نمی‌نوشتیم، برای استفاده از این متد مجبور بودیم آن را با نام کامل، فراخوانی کنیم.

روش فراخوانی متد WriteLine  با کمک نام کامل را در کد زیر نشان داده‌ایم.

شکل ساده‌تری از مثال بالا

در طول سال‌هایی که از زمان تولد این زبان برنامه نویسی می‌گذرد، سی شارپ به طرز چشم‌گیری ارتقا پیدا کرده و ساده‌تر هم شده است. اکنون این زبان برای یادگیری توسط افراد تازه‌کار بسیار مناسب است. در کادر پایین نسخه ساده‌تری از مثال نوشته شده در بخش قبل را نوشته‌ایم. اما این کدها به مرور زمان ساده‌تر نیز شده‌اند.

از سی شارپ ۹ به بعد با استفاده از «عبارت‌های سطح بالا» (Top-Level Statements) موفق شدیم باز هم کدها را ساده‌تر کنیم. دیگر برای شروع برنامه، نیازی به نوشتن متد Main  نداریم. دیگر نیازی نیست که کدهای برنامه را داخل کلاسی مانند Program  بنویسیم.

از سی شارپ نسخه ۱۰ به بعد دیگر نیازی به نوشتن کد using System;  هم نیست. این خط کد به صورت خودکار و توسط کامپایلر به برنامه اضافه می‌شود. به این ویژگی «Implicit Usings» گفته می‌شود.

جوانی به صورت متعجب به مانیتور نگاه می‌کند. دور بر سر او پر از علامت سوال است.

در «سی شارپ ۱۰» حتی روش نوشتن فضاهای نام هم کوتاه‌تر شده است. به این ویژگی «File-Scoped Namespace» گفته می‌شود. این ویژگی باعث شده که توسعه‌دهندگان آکولاد‌های باز و بسته و فضاهای خالی زیادی را از برنامه‌های خود حذف کنند. البته منظور آکولادهای مربوط به فضای نام است که از نسخه ۱۰ سی شارپ به بعد حذف شده‌اند.

توجه: فقط یک فایل در هر اپلیکیشن می‌تواند از ویژگی «عبارت‌های سطح بالا» (Top-Level Statements) استفاده کند.

در برنامه‌های کوچک حتی می‌‌توانیم بخش تعریف فضای نام را نیز حذف کنیم.

به عنوان مثال، اکنون برنامه‌ای که در ابتدای مطلب با ۱۲ خط نوشته بودیم را می‌‌توانیم با یک خط کد بنویسیم.

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

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

مجموعه آموزش برنامه نویسی سی شارپ C#‎ – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی سی شارپ هدایت شوید.

زبان برنامه‌نویسی #C، زبانی مدرن، شیء گرا و چندمنظوره‌ است. اشخاص زیادی برای تامین آینده شغلی خود، علاقه‌مند به یادگیری سی شارپ هستند. این اشخاص نیاز به یافتن منابع کاربردی و با کیفیت برای یادگیری سی شارپ دارند. یکی از بهترین منابع موجود، وب‌سایت آموزشی فرادرس است. در فهرست زیر، چند فیلم‌ آموزشی درباره زبان برنامه نویسی سی شارپ را معرفی‌ کرده‌ایم. این فیلم‌ها توسط فرادرس تولید شده‌اند. برای دیدن فیلم‌های بیشتر بر روی تصویر بالا کلیک کنید.

خواندن داده از کنسول در سی شارپ

در زبان سی شارپ، با کمک کلاس Console  می‌توانیم داده‌های کاربر را از طریق کنسول دریافت کنیم. در کادر زیر نمونه‌ای از این عملیات را پیاده‌سازی کرده‌ایم.

در پایین، معنی کد های سی شارپ بالا به ترتیب توضیح داده شده‌اند. برنامه بالا، مقداری را از کنسول دریافت کرده و دوباره بر روی کنسول چاپ می‌کند. در واقع این برنامه، مقدار نوشته شده توسط کاربر بر روی کنسول را می‌خواند.

  • برای انجام این عملیات ابتدا با کمک کد زیر، اطلاعات را دریافت می‌کنیم.

  • با فشار دادن دکمه «Enter»، متن نوشته شده توسط کاربر به متغیر name  اختصاص داده می‌‌شود.
  • داده ورودی با نام متغیر name  در حافظه ذخیره می‌شود. نوع داده این متغیر، string  است.

  • در کد بالا، رشته مورد نظر برای نمایش را قالب‌بندی کرده‌ایم. برای این کار از مشخص‌کننده {name}  استفاده کردیم. در زمان نمایش پیغام بر روی کنسول، عبارت {name}  با مقدار ذخیره شده در متغیر name  جابه‌جا می‌شود.

بعد از اجرای این کدها و با فرض اینکه نام Mostafa  به برنامه ارسال شده باشد، خروجی زیر در کنسول سی شارپ نمایش داده می‌شود.

Enter your name: Mostafa 
Hello Mostafa 

آرگومان‌های خط فرمان در زبان سی شارپ

برنامه‌های سی شارپ می‌توانند، آرگومان‌های خط فرمان را دریافت کنند. این آرگومان‌ها، اطلاعاتی هستند که موقع اجرای برنامه وارد می‌کنیم. برای این کار، باید آرگومان‌ها را بعد از نام برنامه، در خط فرمان بنویسیم. برنامه‌های سی شارپ، این آرگومان‌ها را دریافت کرده و در آرایه‌ای با نام args  ذخیره می‌کنند. نوع این آرایه «رشته» (String) است. یعنی تمام آرگومان‌های دریافت شده به صورت متنی ذخیره می‌‌شوند، حتی اگر عدد باشند.

البته می‌توان آرگومان‌های خط فرمان را به متد Main  هم ارسال کرد. در کد بالا برای دسترسی به عناصر ذخیره شده در آرایه args  از حلقه for  استفاده کرده‌ایم. با این برنامه، تمام عناصر آرایه را یک به یک بر روی کنسول چاپ می‌کنیم. ویژگی Length  تعداد عناصر ذخیره شده در آرایه‌های سی شارپ را نشان می‌دهد. در ادامه مطلب، یکی از انواع حلقه‌ها در سی شارپ به نام حلقه foreach را معرفی کرده‌ایم.

برنامه نویسی که با لباس نارنجی رنگ در فضایی نارنگی رنگ نشسته و با لپتاپش کار می‌کند.

با نوشتن کد پایین در خط فرمان و فشردن دکمه «Enter»، هم برنامه اجرا شده و هم اعداد 1  و 2  و 3  به عنوان آرگومان به آن ارسال می‌‌شوند.

$ dotnet run 1 2 3

سپس خروجی زیر نشان داده می‌شود.

1
2
3

متغیرهای زبان سی شارپ

متغیر، به مکانی در حافظه گفته می‌شود که از آن برای ذخیره‌سازی داده‌ها استفاده می‌کنیم. هر متغیر دارای دو ویژگی نام و نوع داده است. نوع داده مشخص می‌کند که آن متغیر چه مقادیری را می‌پذیرد. برای نمونه می‌‌توانیم به مقادیر «عدد صحیح» (Integer)، «رشته» (String) و Boolean اشاره کنیم. در این بخش از مطلب به شکل خلاصه، انواع متغیرها در زبان سی شارپ را بررسی کرده‌ایم.

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

برای آشنایی بهتر با متغیرها در کادر پایین، مثال ساده‌ و واضحی نوشته‌ایم.

در کد بالا، چهار متغیر مختلف را تعریف کرده‌ایم. در ادامه مهم‌ترین بخش‌های این کد را خط به خط توضیح می‌دهیم.

  • در خط بالا، متغیری با نام city  تعریف شده است. قبل از نام متغیر، کلمه کلیدی string  قرار دارد. این کلمه نوع داده قابل پذیرش توسط متغیر را مشخص می‌کند. با کمک عملگر مساوی، رشته New York  را به این متغیر اختصاص داده‌ایم.

  • در خط بالا هم دو متغیر مختلف را به صورت همزمان تعریف و مقداردهی کرده‌ایم. با توجه به این خط کد، مشخص است که می‌توانیم چند عبارت مختلف را در یک خط بنویسیم. اما به دلایلی مانند افزایش خوانایی، توصیه شده است که تا حد امکان هر عبارت در خط جداگانه‌ای نوشته شود.

  • با استفاده از کدهای بالا تمام مقادیر ذخیره شده در متغیرها را در ترمینال چاپ کردیم.

  • با کمک کد بالا، مقدار جدیدی به متغیر city  اختصاص داده‌ایم.

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

New York
Paul
35
American
London

کلمه کلیدی var

با استفاده از کلمه کلیدی var، متغیرهای داخل متد می‌توانند به صورت خودکار نوع خود را تشخیص بدهند. در زبان سی شارپ، متغیرها همیشه از نوع‌دهی قوی پشتیبانی می‌کنند. اما اگر از کلمه کلیدی var  استفاده کنیم، دیگر نیازی به مشخص کردن نوع داده نیست. کامپایلر سی شارپ با توجه به مقدار قرار گرفته در سمت راست عملگر مساوی، نوع داده را تشخیص داده و به متغیر اختصاص می‌دهد.

در برنامه بالا دو متغیر به صورت غیرمستقیم نوع‌دهی شده‌اند. این بخش از کدها را در کادر پایین، نشان داده‌ایم.

همین‌طور که در بالا مشاهده می‌شود، در بخش سمت چپ این کدها از کلمه کلیدی var  استفاده کرده‌ایم. در این برنامه، متغیر name  از نوع رشته و متغیر age  از نوع عدد صحیح ساخته‌ می‌شوند. نوع این متغیرها با توجه مقادیر سمت راست علامت مساوی، مشخص می‌شوند.

در زبان سی شارپ، با استفاده از تابع GetType  می‌توان نوع متغیر‌ها را تشخیص داد. بعد از اجرای کدهای بالا خروجی به شکل زیر در ترمینال سی شارپ نمایش، داده می‌شود.

Peter is 23 years old
Jozef is 32 years old
System.String
System.Int32

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

می‌دانیم که از متغیرها برای نگهداری مقادیر مجزا استفاده می‌شود. اما اگر بخواهیم چند مقدار مختلف را به یک متغیر اختصاص بدهیم باید از ساختارهای مخصوص این کار استفاده کنیم. در زبان سی‌شارپ، ساختارهای متنوعی برای دسته‌بندی داده‌ها در نظر گرفته شده‌اند. به عنوان مثال می‌توانیم به آرایه‌ها، دیکشنری‌ها، لیست‌ها و غیره اشاره کنیم.

یک دکتر با کاپشن زرد رنگ در مقابل کامپیوتر خود نشسته است و رنگامیزی می‌کند. تصویر مینیمالیستی است - معنی کد های سی شارپ

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

لیست به توالی‌ از عناصر گفته می‌شود که به صورت مرتب و با استفاده از اندیس ذخیره می‌شوند. به منظور کار با عناصر لیست باید اندیس‌های آن‌ها را به کار ببریم. برای تعریف لیست و دسترسی به عناصر آن از کروشه‌های باز و بسته []  استفاده می‌کنیم. یکی از راه‌های دسترسی به عناصر لیست و پیمایش آن استفاده از ساختار حلقه foreach  در سی شارپ است.

استفاده از حلقه foreach برای پیمایش بر روی لیست

نوع لیست در فضای نام System.Collections.Generic  قرار دارد. در زمان استفاده از سی شارپ نسخه ۱۰ به بعد دیگر لازم نیست که این فضای نام را به صورت دستی وارد کنیم. زیرا ویژگی‌ Implicit Usings آن را به صورت خودکار به کدها اضافه می‌کند.

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

در کد بالا شیء لیست ایجاد شده است. نکات مهم مربوط به این کد را در فهرست زیر نوشته‌ایم.

  • بین علامت‌های کوچک‌تر و بزرگ‌تر <>  نوع داده عناصر ذخیره شده در لیست را مشخص کردیم.
  • این لیست با استفاده از عناصری مقداردهی شده است که درون کروشه‌های باز و بسته []  قرار دارند.
  • باید عناصر لیست را با استفاده از کاما ,  از یکدیگر جدا کنیم.

با کمک کد زیر، دستور چاپ یکی از عناصر لیست words را نوشته‌ایم.

کد بالا، سومین عنصر لیست را در کنسول سی شارپ چاپ می‌کند. توجه کنید که اندیس‌های لیست از شماره صفر شروع می‌شوند. بنابراین اندیس عنصر سوم برابر با عدد 2  است.

در تکه کد بالا، با استفاده از حلقه foreach، تمام عناصر موجود در لیست را پیمایش کرده و یک به یک آن‌ها را در کنسول چاپ کردیم. در این حلقه، متغیری با نام word  تعریف کرده‌ایم. در هر دور از حلقه یکی از عناصر لیست به این متغیر اختصاص داده می‌شوند. سپس با استفاده از دستور Console.WriteLine(word); این عنصر در خروجی چاپ می‌‌شود. مزیت حلقه foreach در آن است که برای کار با عناصر لیست، نیازی به استفاده از اندیس ندارد.

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

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

falcon

stone
rock
falcon
sky

متد Range در سی شارپ

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

در مثال بالا، با استفاده از حلقه foreach  در سی شارپ، مقادیر ۱ تا ۱۰ را بر روی کنسول سی شارپ چاپ کرده‌ایم. این اعداد صحیح، توسط متد Range تولید شده‌اند.

مقادیر دور انداختنی در سی شارپ

«دور انداختنی‌ها» (Discards) نوع خاصی از متغیرهای «فقط‌نوشتنی» (Write-Only) هستند. از این متغیرها برای حذف مقادیری استفاده می‌شود که بدرد برنامه نویس نمی‌خورند. برای ساختن متغیرهای «Discard» یا دورانداختنی از کاراکتر خط زیر ـ  استفاده می‌کنیم.

در مثال بالا، تاپلی را با مقادیر مختلف تعریف کرده‌‌ایم. با استفاده از عملیات «ساختارزدایی» (Deconstruction) مقادیر مورد نیاز از این تاپل را به متغیرهای مناسب، اختصاص داده‌ایم.

در ادامه معنی کد های سی شارپ بالا را به صورت خط به خط توضیح داده‌ایم.

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

فرض کنیم که فقط سه عنصر ابتدایی تاپل را نیاز داریم. بنابراین در سمت چپ علامت مساوی، سه متغیر مختلف x  و y  و z را می‌نویسیم. اما تاپل vals   از شش مقدار مختلف تشکیل شده است. در نتیجه ما هم باید شش متغیر مختلف در سمت چپ علامت مساوی =  قرار بدهیم. برای حل این مشکل می‌توانیم از کاراکتر ـ  به ازای سایر متغیرها استفاده کنیم. یعنی آن که اکنون به این متغیرها نیازی نداریم. بنابراین از آن‌ها استفاده نمی‌کنیم.

انجام پروژه سی شارپ با کمک فیلم‌های فرادرس

فرادرس برای کمک به یادگیری هرچه بهتر سی شارپ و اجرای پروژه‌های واقعی با کمک این زبان، فیلم‌های آموزشی پروژه‌محوری را تولید و منتشر کرده است. این سری از فیلم‌ها دارای تنوع زیادی هستند. هر کدام از آن‌ها بر روی نوع خاصی از پروژه‌ها تمرکز کرده و تکنولوژی‌های خاصی را آموزش می‌دهند. زبان C#‎ در حوزه‌های متنوعی مانند توسعه وب‌اپلیکیشن‌ها، نرم‌افزارهای دسکتاپ و بازی‌سازی کاربرد دارد. با تماشای این فیلم‌ها می‌توانید نمونه‌کارهای حرفه‌ای و جذابی بسازید و رزومه‌ خود را تقویت کنید. در پایین، چند فیلم پروژه‌محور از فرادرس را معرفی کرده‌ایم.

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

مجموعه آموزش پروژه‌محور سی‌شارپ #C – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه‌محور سی شارپ هدایت شوید.

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

ثابت‌‌ها در سی شارپ مقدار اولیه خود را همیشه حفظ می‌کنند. ثابت‌ها بر عکس متغیرها هستند. زیرا متغیرها در طول اجرای برنامه می‌توانند مقادیر مختلفی از نوع یکسان را در خود نگهدارند. در واقع، بعد از اینکه ثابتی را برای بار اول مقداردهی کردیم، دیگر امکان تغییر مقدار ذخیره شده در آن وجود ندارد.

برای ساخت «ثابت‌ها» (Constants) کلمه کلیدی const  را به کار می‌بریم.

در مثال بالا، دو ثابت مختلف و یک متغیر تعریف کرده‌ایم. در ادامه، معنی کد های سی شارپ بالا را بیان کرده‌ایم.

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

در این دو خط‌ کد ابتدا متغیری به نام var  و با نوع داده عدد صحیح «int» تعریف و مقداردهی کردیم. سپس مقدار جدیدی به این متغیر اختصاص داده‌ایم.

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

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

یکی از رایج‌ترین وظیفه‌ها در برنامه نویسی، ساختن قالب‌های متنی برای نمایش اطلاعات مختلف به کاربران است. متد string.Format  برای قالب‌بندی رشته در سی شارپ ارائه شده است.

در کد بالا، رشته جدیدی ایجاد کردیم. برای ساخت این رشته از مقادیر دو متغیر مختلف هم استفاده کرده‌ایم.

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

کلاس درسی که صندلی‌های سفید رو به پرده پروژکتور نشسته‌اند. معنی کد های سی شارپ

در پایین، معنی کد های سی شارپ بالا را به صورت خط به خط توضیح داده‌ایم.

در تکه کد بالا، دو متغیر مختلف تعریف کرده‌ایم.

در این کد، برای قالب‌بندی رشته از متد Format() استفاده کرده‌ایم. این متد در کلاس درونی string  تعریف شده است. نکته دیگر این کد عبارت‌های {0}  و {1}  هستند. این عبارت‌ها مکان‌هایی را نشان می‌دهند که مقادیر مورد نظر در آن‌ها قرار می‌گیرند. عدد‌های موجود در آکولادها موقعیت قرارگیری مقدار متغیرها را نشان می‌دهند. عبارت {0}  اولین متغیر را نشان داده و عبارت {1}  به متغیر دوم اشاره می‌کند.

بعد از اجرای کدهای بالا خروجی به شکل پیام William is 34 years old. در ترمینال سی شارپ نمایش داده می‌شود.

درج مقدار در میان رشته های سی شارپ

بعضی از زبان‌های برنامه نویسی پویا مانند زبان پرل، PHP و زبان روبی از قابلیت «درج» (Interpolation) متغیر در رشته‌ها پشتیبانی می‌کنند. درج متغیر در سی شارپ به معنای آن است که نام متغیر را به شکل مستقیم درون رشته‌ بنویسیم. در زمان ساخت رشته، مقدار آن متغیر به‌جای نامش جایگزین می‌‌شود. زبان برنامه نویسی سی شارپ از نسخه ۶ به بعد از «درج متغیر» (Variable Interpolation) در رشته پشتیبانی می‌کند.

در نمونه کد بالا، با استفاده از تکنیک «درج متغیر» رشته جدیدی ایجاد کرده‌ایم.

در کد بالا می‌بینیم که از کاراکتر $  به عنوان پیشوند رشته استفاده شده است. سپس متغیرهای مورد نظر را درون آکولا‌دهای باز و بسته قرار داده‌ایم. بعد از اجرای کد نمونه پیغام Peter is 34 years old بر روی کنسول سی شارپ نمایش داده می‌شود.

یک مربع زرد رنگ که با فلش به دو مستطیل آبی کوچک متصل شده است.
انواع تکنیک‌های قالب‌بندی رشته در سی شارپ

جمع‌بندی

در مطلب بالا از تعریف کلاس و متد Main  تا روش‌های چاپ متن، دریافت ورودی، کار با متغیرها، لیست‌، حلقه‌ foreach و قالب‌بندی رشته‌ها را در زبان سی شارپ توضیح داده‌ایم. همچنین با مفاهیم دیگری مانند درج متغیر در رشته‌ها و ویژگی‌های نسخه‌های جدید سی شارپ نیز آشنا شدیم. برای کمک به درک بهتر، در هر بخش، ابتدا کدی از سی شارپ را نوشتیم. سپس معنی کد های سی شارپ را خط به خط بررسی کرده‌ایم.

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

source

توسط expressjs.ir