امروز می خواهیم درباره سی شارپ چیست و درباره این صحبت کنیم که چه نکاتی را در ابتدا از یک زبان باید بدانیم. چرا آموزش سی شارپ هنوز هم مورد استقبال برنامهنویسان برای یادگیریست؟
اما قبل از شروع جالب است بدانید، بنده از رشته دیگری وارد دنیای پر مسیر برنامهنویسی شدم و هیچ اطلاعی درباره این حوزه نداشتم. حتی نام زبانهای برنامهنویسی هم نمیدانستم چه برسد به اینکه مسیرم را در بین برنامهنویسان پیدا کنم. در دوره دانشگاهی زبانهای سی و سی پلاس پلاس را آموختم. تجربهای که از کار کردن با C++ کسب کردم بهتر و آسانتر از C بود اما باز هم به دنبال زبانی بودم که بهتر آن را درک کنم. در یک همایش، با زبان سیشارپ آشنا شدم تا جایی که نظرم را برای یادگیری به خود جلب کرد و تصمیم گرفتم دورههای آموزشی مربوط به آن را پیش بگیرم. وقتی که دورههای آموزشی این زبان را گذراندم، فهمیدم که زبان مورد علاقه و محبوب من برای کارکردن همین سیشارپ است. به همین دلیل تصمیم گرفتم تا درباره این زبان مطلب بنویسم.
پس بریم تا با تاریخچه این زبان آشنا شویم.
تاریخچه سی شارپ:
ماجرا از این قرار بود که شرکت مایکروسافت بخاطر رقابت سرسختی که با شرکت سان میکروسیستمز(مالک جاوا) داشت، باعث شد تا مایکروسافت به فکر ایجاد یک زبان بیفتد. به همین خاطر آندرس هایلسبرگ یک تیم تشکیل داد. در جولای 2000 پروژه Net. (دات نت) به طور عمومی اعلام شد و به زبان C# تغییر نام پیدا کرد. برای همین میگویند سی شارپ از دل فریم ورک Net. متولد شده است. با تغییر نام این فریمورک به C# تمامی کتابخانههای کلاس و Asp.Net به آن منتقل شد.
جدال زبانها با سی شارپ:
جدالهای بسیاری از سوی زبانها به سمت سیشارپ بود. جیمز کاسلینگ که زبان برنامهنویسی جاوا را طراحی کرده بود زبان #C را از لحاظ ساختاری خیلی به جاوا نزدیک میدانست. همچنین اظهار کرد که سیشارپ همان جاوا است که قابلیت اطمینان، خلاقیت و امنیت از آن حذف شده است. مؤلفان زبان سی پلاس پلاس نیز آن را یک زبان برنامهنویسی یکسان، تکراری، کسلکننده و بدون نوآوری دانستند. تا اینکه آندرس گفت که از زبان جاوا تقلید نمیکند و طراحی آن بیشتر به زبان C++ نزدیک است.
بالاخره با توسعه زبان سی شارپ تفاوتهای بین این زبان با جاوا بیشتر شد تا جایی که در نوامبر سال 2005 این دو زبان مسیرهای تکاملی متفاوتی در پیش گرفتند. یکی ازتفاوتهای اصلی آنها اضافه شدن Genericها به هر دو زبان با کاربردهای متفاوت بود. همچنین با اضافه شدن چند ویژگی دیگر، سی شارپ توانست برنامهنویسی به سبک تابعی را تطبیق دهد و با اضافه کردن افزونههای LINQ و پشتیبانی از عبارات Lambda به اوج خود برسد.
ویژگیهایی که باعث شد سی شارپ از C و C++ نیز متمایز شود، عبارت است از:
-
برنامهنویسی متا
-
قابلیت حمل
-
استفاده از متدها و توابع مختلف
-
دسترسی آسان به Propertyها
-
دسترسی به حافظه
-
و ....
سی شارپ چیست:
حالا به اصل موضوع میرسیم. سی شارپ یک زبان برنامه نویسی چند مدلی است که شامل دستوری، تابعی، عمومی، شیء گرا میباشد و از نظر من یک زبان برنامهنویسی میانبر است؛ یعنی زبانی که با آن هم میتوانید اپ اندروید بنویسید، هم Ios. حتی در توسعهی سرویسهای سمت سرور نیز کاربرد دارد. این یعنی C# میتواند تقریبا یک چرخه کامل در محصولات نرمافزاری را پشتیبانی کند، دیگر چه میخواهید؟
پس میشود گفت: هدف از طراحی زبان سیشارپ به چند دلیل بود:
-
استفاده در اجزای توسعه نرمافزارها.
-
دارای چک کننده مرزهای آرایه، تشخیص حالتهایی که یک متغیر مقداردهی اولیه نشده و قابلیت انتقال کدها برای اهمیت داشتن به دوام و بهره گیری برنامهنویس.
-
نوشتن برنامه برای سیستمهای تعبیه شده و میزبان یعنی از سیستم عاملهای پیچیده بسیار بزرگ تا توابع اختصاصی بسیار کوچک.
مهمترین نرمافزارهای کار با این زبان را میشناسید؟
برای کار، شما به دو نرمافزار نیاز دارید: یکی محیط توسعهی یکپارچه یا همان IDE و دیگری پایگاه داده. بهترین IDE زبان سی شارپ Microsoft Visual Studio است و پایگاه دادهای که سازگاری خوبی با این محیط دارد SQL Server است.
شناخت چهار قدم برای کار با یک زبان برنامهنویسی:
اولین قدم برای کار با یک زبان برنامه نویسی آشنایی با چهار نکته اصلی میباشد که عبارت است از:
-
کلمات کلیدی
-
انواع دادهها
-
شناسهها
-
عملگرها
حالا میخواهیم، مفاهیم بالا را در زبان سی شارپ بررسی کنیم.
کلمات کلیدی در زبان سی شارپ:
عبارت است از کلماتی که داخل زبان برنامهنویسی برای کاری تعریف شدهاند و ما اجازه استفاده از این کلمات را در کاربردهای دیگر نداریم.
انواع داده در زبان سیشارپ:
دو نوعاند:
-
نوع داده ساده
برای مقادیری همچون اعداد صحیح و یا اعشاری، کاراکترها، True، False ها و.... به کار میرود.
-
نوع داده پیچیده
یک نوع داده که توسط خود ما تعریف و به زبان اضافه میشود. مانند: Classها، Struct ها، Enumها که جزء مباحث پیشرفته زبان سیشارپ محسوب میشود.
شناسه در زبان سی شارپ:
برای استفاده از انواع دادهها در سی شارپ، باید از شناسهها استفاده کنیم. شناسهها در سیشارپ عبارتاند از کلماتی به غیر از کلمات کلیدی که توسط برنامهنویس تعریف و به زبان اضافه میشوند. شناسه میتواند نام یک متغیر، نام یک تابع(متد) و یا حتی نام یک کلاس باشد. در تعریف شناسه یک سری قواعد است که باید آنها را رعایت کنیم:
-
نام شناسه باید معنیدار باشد، یعنی نسبت به کاربردی که در برنامه دارد نامگذاری شود.
-
برای تعریف شناسه نباید از کلمات کلیدی زبان برنامه نویسی سیشارپ استفاده کنیم.
-
اگر نام شناسهای که میخواهیم تعریف کنیم دو بخشی است نباید از Space استفاده کنیم بلکه میتوانیم از ( _ ) استفاده کنیم.
عملگر در زبان سی شارپ:
عناصری هستند که بر روی یک یا چند عبارت، عملیات ریاضی خاصی را انجام میدهند. مانند عملگر (+) که برای جمع دو عدد و یا پیوند دو رشته مورد استفاده قرار میگیرد.
انواع عملگرها به ترتیب عبارتاند از:
-
عملگرهای محاسباتی
-
عملگرهای انتساب
-
عملگرهای رابطهای
-
عملگرهای منطقی
-
عملگرهای بیتی
دستورات خواندن اطلاعات از ورودی و چاپ آنها:
بعد از شناخت چهار نکته اصلی، شما باید متدهای خواندن اطلاعات و چاپ آنها در یک زبان را بدانید. به راستی این دستورات در سی شارپ چیست؟ آنها را میشناسید؟
زمانی که نیاز داریم دادهای را از سمت کاربر دریافت کنیم از متد Readline() از کلاس console استفاده میکنیم. زمانی که این متد فراخوانی میشود، برنامه منتظر دریافت یک رشته از سوی کاربر است. همانطور که گفته شد نوع دادهای که این متد میخواند از نوع رشته است. اما اگر عدد بخواهیم باید چه کنیم؟ باید از متدهای تبدیل سیشارپ استفاده کنیم که یکی از مهمترین متدهای آن convert نام دارد.
مهم ترین کلاسهای متد convert
-
To Boolean: تبدیل نوع داده به نوع true or false) Boolean)
-
To Byte: تبدیل متغیر به بایت
-
To Char: تبدیل متغیر به یک تک کاراکتر
-
To Date Time: تبدیل متغیرهای String یا integer به ساختار تاریخ
-
To Double: تبدیل دادههای اعشاری به ده دهی (بدون اعشار)
-
To Int: این نوع تبدیل دارای انواع ۱۶ و ۳۲ و ۶۴ است و بسته به بزرگی عدد از آن استفاده میشود.
-
To String: تبدیل متغیرها به رشته
اما دستور چاپ سی شارپ چیست:
برای چاپ اطلاعات در خروجی از متد write() در کلاس Console استفاده میکنیم. معادل این متد، متد ()write Line قرار دارد و تفاوت آن با متد ()write در این است که بعد از چاپ به خط بعد میرود.
نکته مهم:
شما بعد از دانستن تمامی آنچه که گفتیم باید با دستورات شرطی و حلقههای تکرار نیز آشنا باشید. در ادامه به معرفی این دو واژه در زبان سیشارپ میپردازیم.
دستورات شرطی:
شما با استفاده از این دستورات میتوانید جریان برنامه را براساس شروط معین مدیریت کنید. چرا که در بعضی مواقع نیاز دارید یک یا چند شرط را بررسی کنید و آنها را براساس برقرار بودن و یا نبودن، اجرا نمایید. این عبارات در تمامی زبانها یکی هستند و فقط در نوشتن آنها تفاوت وجود دارد.
انواع عبارت شرطی در سی شارپ:
-
دستور if
-
دستور if…else
-
دستورات if تو در تو
-
دستور switch
-
دستورات switch تو در تو
حلقههای تکرار در سیشارپ چیست:
اما زمانی پیش میآید که نیاز داریم قطعهای از کد را چندین بار تکرار کنیم. فرض کنید اعداد 1 تا 100 را میخواهیم چاپ کنیم. به جای این که دستور ()Console.WriteLine را صد بار پشت سرهم بنویسیم از حلقه های تکرار استفاده می کنیم. پس حلقه های تکرار به ما این قابلیت را میدهند که دستوراتی را به تعداد دلخواه تکرار کنیم.
انواع حلقههای تکرار:
-
دستورfor
-
دستورwhile
-
دستورdo-while
-
دستورforeach
جمع بندی:
دوستان امیدورام توانسته باشم تا شما را با زبان سیشارپ آشنا کنم و آنچه که در ابتدای کار نیاز دارید به سادگی برایتان بیان کرده باشم. اما اگر میخواهید به طور جدی و عملی این زبان را یاد بگیرید و آن را به یک دانش برای کسب درآمد آینده خود تبدیل کنید به شما پیشنهاد میکنم دورههای آموزش سیشارپ را بگذرانید و سپس مشغول انجام پروژههای کوچک شوید.
معرفی یک مرجع خوب برای یادگیری زبان سی شارپ:
اگر میخواهید به صورت آنلاین و بدون حضور در کلاس این زبان را فرا بگیرید من به شما سایت درسمن را پیشنهاد میکنم. چرا که خود من از دوره آموزش html و css آن استفاده کردم که مطالبی بسیار بروز با آخرین نسخههای ارائه شده html-css بود و من را در یادگیری مفاهیم مقدماتی برای طراحی سایت یاری کرد.
این سایت با قرار دادن یک دوره سی شارپ مقدماتی تا متوسط و سپس آموزش سی شارپ پیشرفته شما را از تمامی مطالب مقدماتی تا سطح پیشرفته این زبان همراه با بیانی روان و کاربردی بینیاز کرده است. همچنین در انتهای دوره نیز تمرینهایی برای شما عزیزان قرار داده تا مهارت خود از آموزش بعد از اتمام دوره، محک بزنید.
اگر سوالی برایتان پیش آمد، میتوانید با رفتن به انجمن برنامه نویسی درسمن جواب خود را دریافت کنید. این اطمینان را به شما میدهم که تجربه یادگیری متفاوتی برایتان رقم خواهد خورد. بعد از گذارندن این دوره حتما نظرات و انتقادات خود را بازگو کنید. حالا من یک سوال از شما میپرسم: نظرتان درباره زبان سیشارپ چیست؟
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.