بدون شک زبان برنامه نویسی سی شارپ یکی از محبوبترین و پرکاربردترین زبانهای برنامه نویسی جهان است. این زبان برنامه نویسی با ویژگیهایی همچون همهمنظوره بودن، کارایی بالا، سادگی و خوانایی تمام معیارهای لازم برای انتخاب به عنوان زبان مورد نظر جهت ادامه مسیر شغلی را برای توسعهدهندگان دارد. با توجه به طیف وسیع کاربردهای سی شارپ فرصتهای شغلی متعددی برای توسعهدهندگان این زبان برنامه نویسی وجود دارد. در مطلب پیشرو از مجله فرادرس به این سوال پاسخ داده خواهد شد که سی شارپ چیست و چه کاربردهایی دارد. با مطالعه این مطلب با اصول اولیه نوشتن برنامه در سی شارپ نیز آشنا خواهید شد. علاوه بر این، تاریخچه زبان سی شارپ، کاربردها، مزایا و معایب این زبان برنامه نویسی به زبان ساده در این نوشته توضیح داده شده است.
در ادامه نیز آموزش سی شارپ به زبان ساده از نصب ویژوال استودیو گرفته تا نحوه تعریف متغیر و ساختارهای مختلف موجود در این زبان مورد بررسی قرار گرفته است. در انتها نیز به متداولترین و پرتکرارترین سوالات مربوط به زبان سی شارپ پاسخ داده شده است.
سی شارپ چیست؟
سی شارپ زبان برنامه نویسی مدرن و همهمنظورهای است که برای اهداف مختلف و انجام طیف وسیعی از کارها در حوزههای مختلف مورد استفاده قرار میگیرد. این زبان برنامه نویسی در وهله اول در «فریم ورک داتنت ویندوز» کاربرد دارد. هر چند میتوان این زبان برنامه نویسی را بر روی یک پلتفرم «منبع آزاد» (Open-Source) نیز اعمال کرد.
سی شارپ به عنوان یک زبان برنامه نویسی همهکاره در زمره زبانهای شیگرا قرار میگیرد. این زبان در عین نوظهور بودن در دنیای برنامه نویسی به عنوان گزینهای قابل اعتماد برای برنامه نویسان شناخته میشود. محبوبیت زبان برنامه نویسی سی شارپ دلایل مختلفی دارد، ولی دلیل اصلی محبوبیت این زبان چند پارادایمی بودن آن است. علاوه بر این، سی شارپ زبانی همهکاره، نسبتاً آسان و شیگرا است. در ادامه این نوشته ابتدا تاریخچه سی شارپ مورد بررسی قرار خواهد گرفت. سپس، به این سوال پاسخ داده خواهد شد که کاربردهای سی شارپ چیست.
تاریخچه سی شارپ
سی شارپ در مقایسه با زبانهای برنامه نویسی قدیمی و با سابقه همچون «پایتون» و PHP کمتر از بیست سال است که به جمع خانواده زبانهای برنامه نویسی اضافه شده است. این زبان برنامه نویسی نخستین بار در سال ۲۰۰۰ میلادی (۱۳۷۹ شمسی) توسط «آندرس هایلسبرگ» (Andres Hejlsberg) دانمارکی توسعه داده شد.
هایلسبرگ در آن زمان به عنوان یکی از مهندسان نرمافزار در شرکت «مایکروسافت» (Microsoft) مشغول به کار بود که پیش از این نیز سابقه انجام کارهای خلاقانه داشت. علاوه بر این، هایلسبرگ در توسعه ابزارها و زبانهای برنامه نویسی معروفی همچون «تایپ اسکریپت» و «دلفی» (Delphi) به عنوان جایگزینی برای توربو پاسکال نیز همکاری داشته است.
نام سی شارپ برگرفته از چیست؟
شاید برای شما نیز سوال ایجاد شده باشد که منظور از نام سی شارپ چیست و چرا این نام برای این زبان برنامه نویسی تعیین شده است. سی شارپ در ابتدا COOL نام داشت که این نام برگرفته از عبارت (C-like Object Oriented Language) بود. به دلیل شباهت سی شارپ به زبان برنامه نویسی C و پشتیبانی از مفاهیم شیگرایی انتخاب این نام بسیار هوشمندانه بود. متاسفانه مایکروسافت به دلیل قوانین مربوط به نامهای تجاری نتوانست این نام سرگرم کننده را برای این زبان نوظهور انتخاب کند. سی شارپ در ابتدا برای رقابت با «جاوا» طراحی شده بود که با توجه با افزایش سریع محبوبیت آن و پذیرش توسط توسعهدهندگان جوان و با تجربه میتوان گفت که این هدف نیز تا حد زیادی محقق شده است.
جایگاه سی شارپ در بین سایر زبانهای برنامه نویسی چگونه است؟
سی شارپ در ماه نوامبر سال ۲۰۲۲ میلادی (۱۴۰۱ شمسی) بعد از زبانهای برنامه نویسی محبوبی چون جاوا و «جاوا اسکریپت»در رتبه چهارم فهرست محبوبترین زبانهای برنامه نویسی جهان قرار گرفت. دادههای مورد استفاده برای رتبهبندی زبانهای برنامه نویسی این فهرست بر اساس تعداد دفعات جستجوی مربوط به آموزش زبانهای برنامه نویسی مختلف توسط کاربران گوگل به دست آمده است. همچنین، سی شارپ در فهرست رتبهبندی TIOBE همواره در بین ۱۰ زبان برنامه نویسی برتر جهان حضور ثابتی داشته است. این فهرست رتبهبندی دادههای خود را از مجموعهای از موتورهای جستجو محبوب همچون گوگل، Bing و یوتیوب استخراج میکند.
کاربردهای سی شارپ چیست؟
سی شارپ نیز همانند بسیاری از زبانهای برنامه نویسی همه منظوره امکان توسعه برنامهها و نرمافزارهای مختلف را فراهم میکند. با استفاده از این زبان قدرتمند میتوان اپلیکیشنهای موبایل، برنامههای دسکتاپ، خدمات ابری، وبسایتها، نرمافزارهای سازمانی و حتی بازی نیز توسعه داد.
هر چند سی شارپ را میتوان زبانی همه منظوره در نظر گرفت، اما این زبان برنامه نویسی در ۳ حوزه عملکرد پررنگتری دارد. حوزههای پوشش داده شده توسط سی شارپ به شرح زیر هستند.
توسعه اپلیکیشنهای ویندوزی با سی شارپ
زبان برنامه نویسی سی شارپ توسط شرکت مایکروسافت ارائه شده است که سیستمعامل ویندوز نیز یکی دیگر از محصولات مهم این غول فناوری است. بنابراین، به آسانی میتوان متوجه شد که چرا زبان سی شارپ در حوزه توسعه اپلیکیشنهای ویندوزی کاربرد دارد. اپلیکیشنهای توسعه داده شده با سی شارپ برای داشتن بهترین عملکرد خود به فریمورک ویندوز NET. نیاز دارند. بنابراین، بهترین کاربرد این زبان توسعه اپلیکیشنهایی است که به طور اختصاصی برای معماری پلتفرم مایکروسافت توسعه داده شدهاند.
سی شارپ در بازی سازی
سی شارپ را شاید بتوان به عنوان یکی از بهترین زبانهای برنامه نویسی برای بازیسازی دانست. این زبان برنامه نویسی به طور گسترده در موتورهای بازیسازی معروفی همچون (Unity) مورد استفاده قرار میگیرد. به عنوان مثال، یکی از بازیهای مورد علاقه طرفداران بازی تحت عنوان Rimworld در موتور بازیسازی یونیتی با زبان سی شارپ توسعه داده شده است.
صرفاً جهت اطلاع باید عنوان کرد که موتور بازیسازی یونیتی محبوبترین موتور بازیسازی موجود در جهان است که بیش از یک سوم بهترین و رایجترین بازیهای جهان با کمک آن ساخته شدهاند. سی شارپ به صورت یکپارچه با موتور بازیسازی یونیتی ادغام میشود و به لطف قابلیت «چندپلتفرمی» (Cross-Platform) آن در هر دستگاهی قابل استفاده است.
طراحی سایت با سی شارپ
زبان برنامه نویسی سی شارپ در توسعه وبسایتهای حرفهای و «پویا» (Dynamic) مبتنی بر پلتفرم NET. یا سایر نرمافزارهای متنباز کاربرد دارد. در نتیجه، میتوان از سی شارپ برای توسعه یک وبسایت کاملاً کاربردی استفاده کرد. با توجه به شیگرا بودن زبان برنامه نویسی سی شارپ اغلب از آن برای توسعه وبسایتهایی مقیاسپذیر، کارآمد و با قابلیت نگهداری آسان استفاده میشود.
مزایای سی شارپ چیست؟
سی شارپ با ارائه ویژگیهای متنوع و قابلیتهای فراوان خود توانسته توجهات بسیاری را به خود جلب کند. این زبان برنامه نویسی همه منظوره با پشتیبانی کامل از مفاهیم شیگرایی و قابلیت چندپلتفرمی خود نظر مثبت توسعهدهندگان تازهکار و با تجربه را به همراه داشته است.
در این بخش از نوشته به این سوال پاسخ داده خواهد شد که مزایای سی شارپ چیست. بر همین اساس، ۵ مورد از مهمترین مزایای سی شارپ در امر توسعه بیان شده است.
صرفهجویی در زمان توسعه
بزرگترین مزیت زبان برنامه نویسی سی شارپ میزان زمانی است که در صورت استفاده از سی شارپ در مقایسه با سایر زبانهای برنامه نویسی میتوان صرفهجویی کرد. سی شارپ زبانی با «تایپ ایستا» (Statically Typed) و آسان است. در نتیجه، توسعهدهندگان در صورت بروز اختلال در عملکرد برنامه میتوانند انتظار داشته باشند که زمان کمتری را صرف بررسی کدهای خود برای یافتن خطا کنند.
زبان برنامه نویسی سی شارپ تاکید بسیاری بر سادگی و کارایی دارد. در نتیجه، برنامهنویسان زمان کمتری را برای نوشتن کدهای پیچیده مورد استفاده در پروژه نیاز دارند. ویژگی صرفهجویی در زمان سی شارپ برای شرکتها و تیمهای برنامه نویسی نیز از اهمیت بالایی برخوردار است، زیرا این مورد به کاهش هزینه نهایی توسعه محصول آنها منجر میشود.
یادگیری آسان
با استفاده از سی شارپ میتوان در زمان توسعه پروژه صرفهجویی کرد. علاوه بر این، سی شارپ در مقایسه با سایر زبانهای برنامه نویسی زمان کمتری را برای یادگیری نیاز دارد، زیرا سینتکس بسیار آسان است. سی شارپ به دلیل سادگی و ویژگیهای کاربردی آسان خود منحنی یادگیری آسانتری را برای مبتدیان فراهم میکند. این زبان برنامه نویسی میتواند برای شروع یادگیری برنامه نویسی گزینه بسیار مناسبی برای مشتاقان و علاقهمندان به دنیای برنامه نویسی باشد.
مقیاسپذیری بالا و نگهداری آسان
سی شارپ یک زبان برنامه نویسی با مقیاسپذیری بالا و نگهداری آسان است. به دلیل ماهیت سختگیرانه نوشتن کدهای ایستا در سی شارپ برنامههای توسعه داده شده با این زبان از سازگاری بالاتری برخوردار هستند. در نتیجه، نگهداری این برنامهها نسبت به برنامههای توسعه داده شده با سایر زبانهای برنامه نویسی آسانتر است. این مورد زمانی بسیار حائز اهمیت خواهد بود که بعد از مدتی نسبتاً طولانی نیاز به بررسی پروژههای قدیمی وجود داشته باشد. در این شرایط کد نوشته شده با سی شارپ همانند روز اول در دسترس خواهد بود. هر چند ممکن است فرایندهای پیادهسازی توسط برنامهنویس تغییر کرده باشد.
جامعه توسعهدهندگی بسیار گسترده
شاید برای شما نیز سوال باشد که نقش جامعه توسعهدهندگی در سی شارپ چیست. در دنیای کد نویسی هیچ چیز مهمتر و حیاتیتر از یک جامعه توسعهدهندگی فعال و قابل اتکا برای برنامهنویسان نیست. زبانهای برنامه نویسی را نمیتوان با سرویسها و پلتفرمهایی مقایسه کرد که دارای پشتیبانی هستند. توسعهدهندگان در حین کد نویسی ممکن است با خطاها و مسائلی مواجه شوند که به تنهایی توان برطرف کردن آنها را نداشته باشند. در نتیجه، وجود یک جامعه توسعهدهندگی قابل اتکا در این شرایط بسیار حائز اهمیت خواهد بود.
سایت StackOverflow یکی از مهمترین پلتفرمهای موجود در این حوزه است که توسعهدهندگان میتوانند سوالات و اشکالات خود را در آن مطرح کنند. با توجه به این که سایت StackOverflow با زبان سی شارپ ساخته شده است. در نتیجه، جای تعجب نیست که بخش زیادی از کاربران آن را برنامهنویسان سی شارپ تشکیل دادهاند. علاوه بر این، زبان سی شارپ دارای انجمنی اختصاصی در سایت Meetup (+) است که اعضای فعال در آن میتوانند به بحث و تبادل نظر در خصوص مباحث مرتبط با این زبان برنامه نویسی بپردازند. در مجموع، با وجود پشتیبانیهای گسترده توسط انجمنهای مختلف از زبان سی شارپ جای نگرانی خاصی برای توسعهدهندگان این زبان وجود ندارد.
پشتیبانی کامل از مفاهیم شیگرایی
سی شارپ یک زبان کاملاً شیگرا است که این مورد ویژگی بسیار مهمی برای هر زبان برنامه نویسی محسوب میشود. زبانهای برنامه نویسی بسیاری توانستهاند تا حدی مفاهیم شیگرایی را پوشش دهند، ولی هیچکدام به گستردگی سی شارپ نتوانستهاند این کار را به ثمر رسانند. زبانهای برنامه نویسی شیگرا از کارایی و انعطافپذیری بالایی برخوردار هستند. شاید برنامهنویسان نا آشنا با مفاهیم شیگرایی تمایلی به انتخاب زبان برنامه نویسی شیگرا نداشته باشند، ولی یادگیری این مورد چندان دشوار نیست.
معایب سی شارپ چیست؟
مسلماً سی شارپ نیز همانند هر زبان برنامه نویسی دیگری در کنار مزایای متعدد و نقاط قوت خود معایب و نقاط ضعفی نیز دارد. بر همین اساس در این بخش به سوال پاسخ داده خواهد شد که معایب سی شارپ چیست. در ادامه معایب زبان برنامه نویسی سی شارپ آورده شده است.
- این زبان برنامه نویسی به پلتفرم مایکروسافت محدود است.
- عملکردی ضعیفتر در مقایسه با زبانهای برنامه نویسی بومی دارد.
- «سربار زمان اجرا» (Runtime Overhead) نسبتاً زیادی دارد.
- گزینه مناسبی برای سیستمهای ضعیف نیست.
- بعد از ایجاد هر تغییری در کدها برنامه باید مجدداً کامپایل شود که همین مورد منجر به بروز خطا خواهد شد.
آیا یادگیری سی شارپ دشوار است؟
سی شارپ در مقایسه با زبانهای برنامه نویسی پیچیده همچون جاوا منحنی یادگیری نسبتاً آسادهتری دارد. شاید نتوان سی شارپ را از نظر سادگی با زبان برنامه نویسی پایتون مقایسه کرد، ولی در مجموع سی شارپ گزینه مناسبی برای توسعهدهندگان تازهکار است.
برای یادگیری زبان برنامه نویسی سی شارپ آشنایی با مفاهیم مقدماتی برنامه نویسی نیاز است. سی شارپ برای توسعهدهندگان با تجربه متوسط تا پیشرفته گزینه بسیار مناسبی محسوب میشود. اکثر کارشناسان حوزه برنامه نویسی بر این باور هستند که سی شارپ زبانی قابل درک و آسان است. با توجه به همین مورد توسعهدهندگان تازه کار به شرط داشتن پشتکار و پیوستگی در یادگیری به سرعت میتوانند به برنامهنویسی خبره در این حوزه تبدیل شوند. در حقیقت سی شارپ را میتوان در زمره زبانهای برنامه نویسی سطح بالا طبقهبندی کرد. در نتیجه، خواندن و نوشتن آن بسیار آسان است و به همین دلیل این زبان میتواند گزینه مناسبی برای توسعهدهندگان تازه کار و با تجربه باشد.
همان طور که پیشتر نیز عنوان شد، سی شارپ زبانی با تایپ ایستا است. در نتیجه، خطاهای موجود در برنامه پیش از اجرا شناسایی میشوند. این مورد تشخیص ایرادات جزئی موجود در برنامه را بسیار آسان میکند.
دلیل انتخاب زبان برنامه نویسی سی شارپ چیست؟
امروزه با توجه به معرفی طیف وسیعی از زبانهای برنامه نویسی مختلف و کاربردهای متنوع آنها در حوزههای مختلف توسعهدهندگان با انتخابهای بسیاری روبرو هستند. زبانهای برنامه نویسی بسیاری را میتوان یافت که ویژگیهایی مشابه با سی شارپ را داشته باشند. به عنوان مثال، پایتون در کنار سادگی از قابلیتهایی مشابه با سی شارپ برخوردار است.
در این جا سوالی پیش میآید که چرا توسعهدهندگان باید سی شارپ را انتخاب کنند. در حقیقت باید به این سوال پاسخ داد که دلیل انتخاب زبان برنامه نویسی سی شارپ چیست و این زبان چه مزایای ویژهای را برای توسعهدهندگان به همراه دارد. بر همین اساس در این بخش با بیان دلایل مختلف به این سوال پاسخ داده خواهد شد که دلیل انتخاب سی شارپ برای توسعهدهندگان چیست.
وجود فرصتهای شغلی فراوان در زمینه سی شارپ
با توجه به همه منظوره بودن زبان برنامه نویسی سی شارپ و کاربردهای گسترده این زبان در حوزههای مختلف برنامهنویسان سی شارپ دغدغه چندانی برای یافتن فرصت شغلی مناسب را نخواهند داشت. امروزه توسعه بازیهای مستقل در حال افزایش است و هر روزه وبسایتهای بیشتری بر اساس فریمورک ASP.NET توسعه داده میشوند. به طور کلی یک برنامهنویس سی شارپ با مهارت بالا توانایی طراحی وبسایت، ساخت اپلیکیشنهای موبایل، توسعه بازی و برنامههای دسکتاپ را خواهد داشت. در نتیجه، با وجود داشتن این همه مهارت فرصتهای شغلی بسیار خوبی برای این فرد در دسترس خواهد بود.
آینده روشن زبان برنامه نویسی سی شارپ
با توجه به رشد روزافزون علاقهمندان به یادگیری زبان سی شارپ و معماری مبتنی بر پلتفرم مایکروسافت این زبان برنامه نویسی میتوان آینده بسیار روشنی را برای سی شارپ انتظار داشت. با توجه به محبوبیت فراوان، مقیاسپذیری بالا، خلاقیتهای موجود و جامعه توسعهدهندگی بزرگ این زبان میتوان انتظار داشت که شرکت مایکروسافت به طور پیوسته نسبت به ارائه بروزسانی برای این زبان برنامه نویسی اقدام کند.
محبوبیت بالای سی شارپ در بین برنامهنویسان
محبوبیت بالای سی شارپ یکی دیگر از دلایلی است که چرا توسعهدهندگان باید این زبان برنامه نویسی را برای ادامه مسیر شغلی خود انتخاب کنند. بر اساس آمارهای به دست آمده در سال ۲۰۱۷ میلادی (۱۳۹۵ شمسی) از نظرسنجی سایت StackOverflow برنامهنویسان زبان برنامه نویسی سی شارپ را بعد از پایتون به عنوان دوست داشتنیترین زبان برنامه نویسی جهان انتخاب کردهاند. بنابراین، سی شارپ گزینه مناسبی میتواند باشد برای افرادی که از سروکار داشتن با زبانهای برنامه نویسی پیچیده خسته شدهاند، زیرا این زبان برنامه نویسی با توجه به سینتکس خود فرایند توسعه را بسیار لذتبخش میکند.
آموزش سی شارپ به زبان ساده
بعد از آشنایی با زبان برنامه نویسی سی شارپ، تاریخچه، کاربردها و مزایا و معایب آن در این بخش از نوشته آموزش سی شارپ به زبان ساده را با بررسی برخی مفاهیم و ساختارهای اصلی آن شروع خواهیم کرد.
برای این منظور در این بخش سعی شده است تا ابتدا مقدمات شروع کار با سی شارپ یعنی نصب محیط توسعه فراهم شود. در ادامه، اصول اولیه و ساختارهای مهم موجود در زبان برنامه نویسی سی شارپ به زبان ساده مورد بررسی قرار خواهند گرفت.
نصب ویژوال استودیو
«ویژوال استودیو» (Visual Studio) محبوبترین محیط یکپارچه توسعه برای زبان برنامه نویسی سی شارپ است. بر همین اساس در گام نخست مراحل نصب این ابزار مورد بررسی قرار گرفته است.
- برای دانلود ویژوال استودیو از طریق این نشانی (+) به وبسایت رسمی این نرمافزار مراجعه کنید.
- در صفحه باز شده بر روی گزینه Download Visual Studio کلیک و نسخه Visual Studio Community
دانلود کنید، زیرا این نسخه برای افراد و تیمهای کوچک برنامه نویسی رایگان است.
- مراحل نصب را از طریق برنامه «نصاب» (Installer) دنبال کنید. در این بخش حتما از فعال بودن گزینه .NET desktop development
اطمینان حاصل کنید.
- در نهایت بعد از آمادهسازی فایلهای مورد نیاز توسط برنامه نصاب برای تکمیل فرایند نصب بر روی دکمه Install کلیک کنید.
پیشتر در مطلب زیر از مجله فرادرس تمام مراحل نصب ویژوال استودیو به صورت تصویری و گامبهگام بیان شده است.
نوشتن اولین برنامه در سی شارپ
معمولاً توسعهدهندگان در هر زبان برنامه نویسی نخستین کد خود را با نوشتن برنامه «سلام دنیا» (Hello World) شروع میکنند. در این برنامه توسعهدهندگان تازه کار با نوشتن قطعه کدی با زبان مورد نظر عبارت Hello World
را در خروجی چاپ خواهند کرد. قطعه کد زیر به زبان سی شارپ عبارت Hello, World!
را در خروجی چاپ میکند.
1class Program
2{
3 static void Main(string[] args)
4 {
5 System.Console.WriteLine("Hello, World!");
6 }
7}
در مثال بالا دستور System.Console.WriteLine()
عبارت مشخص شده را در خروجی چاپ میکند.
تعریف متغیر در سی شارپ
سی شارپ نیز همانند هر زبان برنامه نویسی دیگری از مفهوم متغیر پشتیبانی میکند. در پاسخ به سوال منظور از متغیر در سی شارپ چیست باید عنوان کرد که در واقع، متغیرها همانند ظرفهایی هستند که امکان ذخیرهسازی دادهها و مقادیر مختلف را فراهم میکنند. نحوه تعریف متغیر در زبان برنامه نویسی سی شارپ به صورت زیر است.
1typeName variableName = value;
برای تعریف متغیر در سی شارپ ابتدا باید نوع متغیر را تعیین کرد و سپس نام مورد نظر برای متغیر را قرار داد.
نوع داده در سی شارپ
همان طور که در بالا نیز اشاره شد، نوع متغیرها در سی شارپ پیش از تعریف باید مشخص شود. در زبان برنامه نویسی سی شارپ برای تعیین نوع متغیر از نوع داده باید استفاده کرد. به زبان ساده نوع داده محدوده مقادیر مجاز قابل ذخیره در متغیر را مشخص میکند. در همین راستا نوع دادههای مختلفی در زبان برنامه نویسی سی شارپ برای متغیرها وجود دارد که در ادامه مهمترین و پرکاربردترین آنها ارائه شده است.
تبلیغ
- «عدد صحیح» (int)
- «عدد اعشاری» (double)
- «رشته» (string)
- «کاراکتر» (char)
- «بولی» (bool)
- «آرایه» (array)
- و سایر موارد
قطعه کد زیر نحوه استفاده از نوعهای دادهای در سی شارپ را نشان میدهد.
1int myNumber = 10;
2bool isCSharpFun = true;
3char myGrade = 'A';
4string myText = "Hello, World";
در مثال بالا متغیرهای مختلف به ترتیب با نوعهای دادهای عدد صحیح، بولی، کاراکتر و رشته تعریف شدهاند. پیشتر در مطلب زیر از مجله فرادرس متغیرها و انواع داده به همراه مثالهای متنوع مورد بررسی قرار گرفتهاند.
منظور از ساختار کنترلی در سی شارپ چیست؟
در حقیقت کدهای موجود در برنامه به ترتیب و خطبهخط اجرا میشوند. ساختارهای کنترلی در برنامه نویسی امکان کنترل گردش اجرای کدهای برنامه را فراهم میکنند. زبان برنامه نویسی سی شارپ همانند سایر زبانهای برنامه نویسی از ساختارهای کنترلی متعددی پشتیبانی میکند. در این بخش ۲ ساختار کنترلی مهم if و حلقه for در سی شارپ مورد بررسی قرار گرفتهاند.
دستور if در سی شارپ
ساختار شرطی if یک شرط مشخص شده را بررسی میکند و بر اساس درست یا نادرست بودن شرط مورد نظر اقدامات مشخص شده را انجام میدهد. قطعه کد زیر نحوه پیادهسازی ساختار شرطی if در سی شارپ را نشان میدهد.
1int x = 10;
2if (x > 5)
3{
4 System.Console.WriteLine("x is greater than 5");
5}
در مثال بالا با توجه به مقدار اولیه متغیر x
شرط مشخص شده برقرار میشود و عبارت مشخص شده در خروجی چاپ خواهد شد. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
x is greater than 5
حلقه for در سی شارپ
با استفاده از ساختار حلقه for در سی شارپ میتوان دستورات مورد نظر را به تعداد مشخصی تکرار کرد. قطعه کد زیر نحوه پیادهسازی حلقه for در سی شارپ را نشان میدهد.
1for (int i = 1; i <= 5; i++)
2{
3 System.Console.WriteLine(i);
4}
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
1 2 3 4 5
در مثال بالا متغیر i
به عنوان شمارنده حلقه مشخص شده است. ساختار بالا در صورتی خاتمه خواهد یافت که مقدار متغیر i
کمتر یا مساوی عدد ۵ باشد. در هر بار اجرای حلقه نیز مقدار شمارنده در خروجی چاپ خواهد شد و یک واحد نیز به مقدار آن اضافه میشود.
کاربرد آرایه در سی شارپ چیست؟
آرایهها یکی از ساختارهای دادهای مهم و پرکاربرد در هر زبان برنامه نویسی هستند. در واقع، آرایهها امکان ذخیرهسازی مجموعهای از متغیرهای همنوع را فراهم میکنند. عناصر موجود در آرایه از طریق «اندیس» (Index) مشخص میشوند. اندیس آرایه نشان دهنده شماره خانه مربوط به هر عنصر است. اندیسهای آرایه از عدد 0 شروع میشوند و به ترتیب افزایش مییابند. قطعه کد زیر نحوه ایجاد آرایهای از عناصر در زبان سی شارپ را نشان میدهد.
1int[] arr = new int[3];
2arr[0] = 1;
3arr[1] = 2;
4arr[2] = 3;
در مثال بالا آرایه arr
از نوع عدد صحیح با طول ۳ تعریف شده است. همچنین، عناصر موجود در خانههای آرایه به صورت جداگانه مشخص شدهاند. البته امکان تعریف آرایه فوق در تنها یک خط نیز وجود دارد. قطعه کد زیر نحوه تعریف آرایه بالا در یک خط را نشان میدهد.
1int[] arr = new int[] {1, 2, 3};
کاربرد متدها در سی شارپ چیست؟
«متدها» (Methods) در سی شارپ معمولاً تحت عنوان «توابع» (Functions) شناخته میشوند. مفهوم متد به بلوکهایی از کد اشاره دارد که وظیفه خاصی را انجام میدهند. قطعه کد زیر نحوه تعریف متد در سی شارپ را نشان میدهد.
1public returnType methodName(parameterType parameterName)
2{
3 // method body
4}
با توجه به مثال بالا به ترتیب ابتدا سطح دسترسی متد، نوع بازگشتی و نام متد باید مشخص شوند. همچنین، پارامترهای دریافتی متد نیز درون پرانتز جلوی نام متد قرار میگیرند. مثال زیر متدی را نشان میدهد که عملیات جمع دو عدد صحیح را پیادهسازی میکند.
1public int AddNumbers(int num1, int num2)
2{
3 return num1+num2;
4}
برای فراخوانی متد پیادهسازی شده در بالا باید نام متد را به همراه پارامترهای مورد نظر به آن ارسال کرد. فراخوانی متد پیادهسازی شده در بالا به صورت زیر خواهد بود.
1int result = AddNumbers(5, 10);
2System.Console.WriteLine(result);
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
15
کاربرد کلاس در سی شارپ چیست؟
کلاسها و اشیا از ارکان اصلی برنامه نویسی شیگرا محسوب میشوند. کلاسها در واقع طرحی برای ساخت اشیا را ارائه میکنند. علاوه بر این، مجموعهای از خصوصیتها و متدهای مورد نیاز اشیا در کلاسها تعیین میشوند. همچنین، مقادیر اولیه برای مشخصههای شی و پیادهسازی رفتار اشیا در کلاس مشخص میشود. قطعه کد زیر مثالی از نحوه پیادهسازی کلاس در سی شارپ را نشان میدهد.
1public class Car
2{
3 public string color;
4 public int maxSpeed;
5 public void DescribeCar()
6 {
7 System.Console.WriteLine($"The car is {color} and its maximum speed is {maxSpeed}");
8 }
9}
در مثال بالا کلاس Car
برای ساخت شی ماشین با ۲ مشخصه color
و maxSpeed
پیادهسازی شده است که به ترتیب هر کدام نشان دهنده رنگ و حداکثر سرعت ماشین پیادهسازی شده هستند. همچنین، کلاس فوق متدی با نام DescribeCar
دارد که توصیفی از ماشین پیادهسازی شده را ارائه میدهد. بعد از تعریف کلاس میتوان شی را به عنوان نمونه از این کلاس پیادهسازی کرد. قطعه کد زیر نحوه پیادهسازی شی از کلاس Car
را نشان میدهد.
1Car myCar = new Car();
2myCar.color = "Red";
3myCar.maxSpeed = 200;
4myCar.DescribeCar();
برنامه بالا یک شی جدید از کلاس Car
ایجاد و سپس، مقادیر مربوط به خصوصیات آن را تنظیم میکند. در نهایت با فراخوانی متد DescribeCar()
اطلاعات مربوط به شی مورد نظر در خروجی چاپ میشود.
وراثت در سی شارپ
«وراثت» (Inheritance) یکی از مفاهیم بسیار مهم و از اصول برنامه نویسی شیگرا محسوب میشود. بر اساس این مفهوم میتوان یک کلاس را به عنوان فرزند کلاسی دیگر مشخص کرد. در نتیجه، کلاس فرزند تمام خصوصیات و رفتارهای کلاس والد را به ارث میبرد. قطعه کد زیر نحوه ارثبری کلاسها در سی شارپ را از یکدیگر نشان میدهد.
1public class Vehicle // Base class (parent)
2{
3 public string brand = "Ford";
4 public void Honk()
5 {
6 System.Console.WriteLine("Tuut, tuut!");
7 }
8}
9public class Car : Vehicle // Derived class (child)
10{
11 public string modelName = "Mustang";
12}
در مثال بالا کلاس پایه Vehicle
به عنوان کلاس والد تعریف شده است. در ادامه، کلاس Car
به عنوان فرزندی از این کلاس مشتق شده است. کلاس Car
تمام مشخصات و ویژگیهای کلاس Vehicle
را به ارث میبرد. قطعه کد زیر نحوه دسترسی به اعضای کلاس والد را از طریق شی ساخته شده از کلاس فرزند نشان میدهد.
1Car myCar = new Car();
2myCar.Honk();
3System.Console.WriteLine(myCar.brand + " " + myCar.modelName);
مدیریت استثنا در سی شارپ
«استثناها» (Exceptions) خطاهای مربوط به زمان اجرای برنامه هستند که در طول اجرای برنامه رخ میدهند. با توجه به این مورد برای جلوگیری از بروز خطا و دریافت نتایج غیرمنتظره در برنامه باید این استثناها را مدیریت کرد. برای مدیریت استثناها در زبان برنامه نویسی سی شارپ باید از بلوکهای try-catch استفاده کرد. قطعه کد زیر نحوه مدیریت استثنا در سی شارپ را با استفاده از بلوکهای try-catch را نشان میدهد.
1try
2{
3 int result = 10 / 0; // This code will throw an exception
4}
5catch (DivideByZeroException e)
6{
7 System.Console.WriteLine("You can't divide by zero!");
8}
در مثال بالا در صورت بروز هر گونه خطایی در بخش try کدهای نوشته شده در بخش catch اجرا خواهند شد. معمولاً در این بخش پیامی برای اعلام خطا نشان داده میشود.
خواندن فایل در سی شارپ
زبان برنامه نویسی سی شارپ امکانات بسیاری را در خصوص کار با فایلها در اختیار برنامه نویسان قرار میدهد. با استفاده از فضای نام System.IO در سی شارپ میتوان عملیات مختلفی همچون ایجاد، خواندن، نوشتن و حذف را بر روی فایلها انجام داد. قطعه کد زیر نحوه نوشتن و خواندن از فایل در سی شارپ را نشان میدهد.
1// Write to a file
2System.IO.File.WriteAllText(@"pathtofile.txt", "Hello, World!");
3// Read from a file
4string text = System.IO.File.ReadAllText(@"pathtofile.txt");
5System.Console.WriteLine(text);
در مثال بالا دستور WriteAllText
رشته مورد نظر را درون فایل مینویسد. همچنین، دستور ReadAllText
برای خواندن اطلاعات از فایل مورد استفاده قرار میگیرد.
کار با پایگاه داده در سی شارپ
پایگاه داده را میتوان به عنوان بخشی جدایی ناپذیر از هر برنامه و نرمافزاری در نظر گرفت. در زبان برنامه نویسی سی شارپ نیز دستورات مشخصی برای انجام عملیات بر روی پایگاه داده وجود دارد. قطعه کد زیر نحوه اتصال به پایگاه داده SQL Server در سی شارپ و اجرای «کوئری» (Query) بر روی آن را نشان میدهد.
1using System.Data.SqlClient;
2// Create a database connection
3SqlConnection myConn = new SqlConnection("user id=username;" +
4 "password=password;server=serverurl;" +
5 "database=database; " +
6 "connection timeout=30");
7try
8{
9 myConn.Open();
10 SqlCommand myCommand = new SqlCommand("Select * from Table", myConn);
11 SqlDataReader myReader = myCommand.ExecuteReader();
12 while (myReader.Read())
13 {
14 System.Console.WriteLine(myReader["ColumnName"].ToString());
15 }
16 myConn.Close();
17}
18catch (Exception e)
19{
20 System.Console.WriteLine(e.ToString());
21}
قطعه کد بالا عملیات زیر را به ترتیب انجام میدهد.
- باز کردن اتصال پایگاه داده
- اجرای کوئری SQL
- خواندن نتیجه حاصل از اجرای کوئری
- بستن اتصال پایگاه داده
در مثال بالا برای جلوگیری از بروز خطا و نتایج غیر منتظره تمام موارد ذکر شده درون بلوک try-catch قرار گرفتهاند.
سوالات متداول
از ابتدای نوشته سعی شد تا به این سوال پاسخ داده شود که سی شارپ چیست. همچنین، کاربردهای این زبان، دلیل یادگیری به همراه مزایا و معایب آن به طور کامل مورد بررسی قرار گرفت. در این بخش به متداولترین سوالات مربوط به حوزه سی شارپ پاسخ داده شده است که در طول متن کمتر مورد بررسی قرار گرفتند.
برنامههای ساخته شده با سی شارپ کدامند؟
با توجه به همه منظوره بودن سی شارپ طیف برنامههای توسعه داده شده با این زبان برنامه نویسی بسیار گسترده است. در ادامه، تعدادی از برنامهها و اپلیکیشنهای کاربردی توسعه داده شده با سی شارپ ارائه شده است که نشان از قابلیت بالا و قدرت بسیار این زبان برنامه نویسی دارد.
- Microsoft Visual Studio
- Paint.NET
- Open Dental
- KeePass
- FlashDevelop
- NMath
- Pinta
- OpenRA
سی شارپ یا جاوا کدامیک برای یادگیری بهتر است؟
زبانهای سی شارپ و جاوا در زمره محبوبترین زبانهای برنامه نویسی قرار دارند که از اقبال بسیار خوبی از سمت توسعهدهندگان تازه کار و باتجربه برخوردار هستند. هر کدام از این دو زبان قابلیتها و ویژگیهای مخصوص به خود را دارند که توسعهدهندگان باید با توجه به نیاز خود و نوع پروژه نسبت به انتخاب گزینه مناسب اقدام کنند. در یک مقایسه کوتاه میتوان عنوان کرد که کدهای سی شارپ به طور معمول سریعتر از جاوا اجرا میشوند. اگر چه شاید این تفاوت سرعت اندک باشد، ولی در مقیاس پروژههای بزرگ این تفاوتها تعیین کننده خواهد بود. علاوه بر این، سی شارپ گزینه مناسبی برای توسعه بازی است، زیرا موتور محبوب یونیتی از این زبان استفاده میکند.
سی شارپ یا پایتون کدامیک بهتر است؟
سی شارپ و پایتون ویژگیهای مشترکی دارند. به عنوان مثال، هر دو زبان از مفاهیم شیگرایی پشتیبانی میکنند. همچنین، این دو زبان یادگیری آسان و محبوبیت بالایی نزد توسعهدهندگان دارند. این دو زبان در سایر ویژگیها نیز با یکدیگر مشابه هستند، ولی با توجه به مزایای سی شارپ همچون کارایی بالا و سینتکس آسان این زبان برنامه نویسی گزینه ایدهآلتری برای توسعه برنامههای سازمانی محسوب میشود. از سوی دیگر از جمله نقاط قوت پایتون میتوان به ارائه کتابخانههای متنوع برای ساخت طیف وسیعی از اپلیکیشنها اشاره کرد. پیشتر در مطلب زیر از مجله فرادرس ۲ زبان برنامه نویسی سی شارپ و پایتون از منظر ویژگیهای مختلف با یکدیگر مقایسه شدهاند.
جمعبندی
امروزه افراد و علاقهمندان به دنیای برنامه نویسی با توجه به وجود گزینههای متعدد معیارهای متفاوتی برای انتخاب زبان برنامه نویسی مورد نظر خود دارند. زبان برنامه نویسی سی شارپ انتخاب ایدهآلی برای آن دسته از افرادی محسوب میشود که قصد ورود به دنیای برنامه نویسی را دارند و در عین حال معیارهای سادگی، خوانایی بالا، کارایی و همهمنظوره بودن برایشان اهمیت دارد. بر همین اساس در مطلب فوق از مجله فرادرس به این سوال پاسخ داده شد که سی شارپ چیست و چه کاربردهایی دارد.
علاوه بر این، بعد بررسی چیستی زبان برنامه نویسی سی شارپ، تاریخچه، کاربردهای مختلف، مزایا و معایب و چرایی یادگیری این زبان برنامه نویسی توضیح داده شد. در انتها نیز به صورت گامبهگام آموزش سی شارپ به زبان ساده از نصب ویژوال استودیو گرفته تا تعریف متغیر و ساختارهای کنترلی در این زبان به همراه بسیاری از مفاهیم کاربردی دیگر مورد بررسی قرار گرفت.
source