
امروز می خواهیم درباره سی شارپ چیست و درباره این صحبت کنیم که چه نکاتی را در ابتدا از یک زبان باید بدانیم. چرا آموزش سی شارپ هنوز هم مورد استقبال برنامهنویسان برای یادگیریست؟
اما قبل از شروع جالب است بدانید، بنده از رشته دیگری وارد دنیای پر مسیر برنامهنویسی شدم و هیچ اطلاعی درباره این حوزه نداشتم. حتی نام زبانهای برنامهنویسی هم نمیدانستم چه برسد به اینکه مسیرم را در بین برنامهنویسان پیدا کنم. در دوره دانشگاهی زبانهای سی و سی پلاس پلاس را آموختم. تجربهای که از کار کردن با C++ کسب کردم بهتر و آسانتر از C بود اما باز هم به دنبال زبانی بودم که بهتر آن را درک کنم. در یک همایش، با زبان سیشارپ آشنا شدم تا جایی که نظرم را برای یادگیری به خود جلب کرد و تصمیم گرفتم دورههای آموزشی مربوط به آن را پیش بگیرم. وقتی که دورههای آموزشی این زبان را گذراندم، فهمیدم که زبان مورد علاقه و محبوب من برای کارکردن همین سیشارپ است. به همین دلیل تصمیم گرفتم تا درباره این زبان مطلب بنویسم.
پس بریم تا با تاریخچه این زبان آشنا شویم.
ماجرا از این قرار بود که شرکت مایکروسافت بخاطر رقابت سرسختی که با شرکت سان میکروسیستمز(مالک جاوا) داشت، باعث شد تا مایکروسافت به فکر ایجاد یک زبان بیفتد. به همین خاطر آندرس هایلسبرگ یک تیم تشکیل داد. در جولای 2000 پروژه Net. (دات نت) به طور عمومی اعلام شد و به زبان C# تغییر نام پیدا کرد. برای همین میگویند سی شارپ از دل فریم ورک Net. متولد شده است. با تغییر نام این فریمورک به C# تمامی کتابخانههای کلاس و Asp.Net به آن منتقل شد.
جدالهای بسیاری از سوی زبانها به سمت سیشارپ بود. جیمز کاسلینگ که زبان برنامهنویسی جاوا را طراحی کرده بود زبان #C را از لحاظ ساختاری خیلی به جاوا نزدیک میدانست. همچنین اظهار کرد که سیشارپ همان جاوا است که قابلیت اطمینان، خلاقیت و امنیت از آن حذف شده است. مؤلفان زبان سی پلاس پلاس نیز آن را یک زبان برنامهنویسی یکسان، تکراری، کسلکننده و بدون نوآوری دانستند. تا اینکه آندرس گفت که از زبان جاوا تقلید نمیکند و طراحی آن بیشتر به زبان C++ نزدیک است.
بالاخره با توسعه زبان سی شارپ تفاوتهای بین این زبان با جاوا بیشتر شد تا جایی که در نوامبر سال 2005 این دو زبان مسیرهای تکاملی متفاوتی در پیش گرفتند. یکی ازتفاوتهای اصلی آنها اضافه شدن Genericها به هر دو زبان با کاربردهای متفاوت بود. همچنین با اضافه شدن چند ویژگی دیگر، سی شارپ توانست برنامهنویسی به سبک تابعی را تطبیق دهد و با اضافه کردن افزونههای LINQ و پشتیبانی از عبارات Lambda به اوج خود برسد.
برنامهنویسی متا
قابلیت حمل
استفاده از متدها و توابع مختلف
دسترسی آسان به Propertyها
دسترسی به حافظه
و ....
حالا به اصل موضوع میرسیم. سی شارپ یک زبان برنامه نویسی چند مدلی است که شامل دستوری، تابعی، عمومی، شیء گرا میباشد و از نظر من یک زبان برنامهنویسی میانبر است؛ یعنی زبانی که با آن هم میتوانید اپ اندروید بنویسید، هم Ios. حتی در توسعهی سرویسهای سمت سرور نیز کاربرد دارد. این یعنی C# میتواند تقریبا یک چرخه کامل در محصولات نرمافزاری را پشتیبانی کند، دیگر چه میخواهید؟
پس میشود گفت: هدف از طراحی زبان سیشارپ به چند دلیل بود:
استفاده در اجزای توسعه نرمافزارها.
دارای چک کننده مرزهای آرایه، تشخیص حالتهایی که یک متغیر مقداردهی اولیه نشده و قابلیت انتقال کدها برای اهمیت داشتن به دوام و بهره گیری برنامهنویس.
نوشتن برنامه برای سیستمهای تعبیه شده و میزبان یعنی از سیستم عاملهای پیچیده بسیار بزرگ تا توابع اختصاصی بسیار کوچک.
برای کار، شما به دو نرمافزار نیاز دارید: یکی محیط توسعهی یکپارچه یا همان IDE و دیگری پایگاه داده. بهترین IDE زبان سی شارپ Microsoft Visual Studio است و پایگاه دادهای که سازگاری خوبی با این محیط دارد SQL Server است.
کلمات کلیدی
انواع دادهها
شناسهها
عملگرها
حالا میخواهیم، مفاهیم بالا را در زبان سی شارپ بررسی کنیم.
عبارت است از کلماتی که داخل زبان برنامهنویسی برای کاری تعریف شدهاند و ما اجازه استفاده از این کلمات را در کاربردهای دیگر نداریم.

دو نوعاند:
نوع داده ساده
برای مقادیری همچون اعداد صحیح و یا اعشاری، کاراکترها، True، False ها و.... به کار میرود.
نوع داده پیچیده
یک نوع داده که توسط خود ما تعریف و به زبان اضافه میشود. مانند: Classها، Struct ها، Enumها که جزء مباحث پیشرفته زبان سیشارپ محسوب میشود.
برای استفاده از انواع دادهها در سی شارپ، باید از شناسهها استفاده کنیم. شناسهها در سیشارپ عبارتاند از کلماتی به غیر از کلمات کلیدی که توسط برنامهنویس تعریف و به زبان اضافه میشوند. شناسه میتواند نام یک متغیر، نام یک تابع(متد) و یا حتی نام یک کلاس باشد. در تعریف شناسه یک سری قواعد است که باید آنها را رعایت کنیم:
نام شناسه باید معنیدار باشد، یعنی نسبت به کاربردی که در برنامه دارد نامگذاری شود.
برای تعریف شناسه نباید از کلمات کلیدی زبان برنامه نویسی سیشارپ استفاده کنیم.
اگر نام شناسهای که میخواهیم تعریف کنیم دو بخشی است نباید از Space استفاده کنیم بلکه میتوانیم از ( _ ) استفاده کنیم.
عناصری هستند که بر روی یک یا چند عبارت، عملیات ریاضی خاصی را انجام میدهند. مانند عملگر (+) که برای جمع دو عدد و یا پیوند دو رشته مورد استفاده قرار میگیرد.
عملگرهای محاسباتی
عملگرهای انتساب
عملگرهای رابطهای
عملگرهای منطقی
عملگرهای بیتی
بعد از شناخت چهار نکته اصلی، شما باید متدهای خواندن اطلاعات و چاپ آنها در یک زبان را بدانید. به راستی این دستورات در سی شارپ چیست؟ آنها را میشناسید؟
زمانی که نیاز داریم دادهای را از سمت کاربر دریافت کنیم از متد Readline() از کلاس console استفاده میکنیم. زمانی که این متد فراخوانی میشود، برنامه منتظر دریافت یک رشته از سوی کاربر است. همانطور که گفته شد نوع دادهای که این متد میخواند از نوع رشته است. اما اگر عدد بخواهیم باید چه کنیم؟ باید از متدهای تبدیل سیشارپ استفاده کنیم که یکی از مهمترین متدهای آن convert نام دارد.
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 بود و من را در یادگیری مفاهیم مقدماتی برای طراحی سایت یاری کرد.
این سایت با قرار دادن یک دوره سی شارپ مقدماتی تا متوسط و سپس آموزش سی شارپ پیشرفته شما را از تمامی مطالب مقدماتی تا سطح پیشرفته این زبان همراه با بیانی روان و کاربردی بینیاز کرده است. همچنین در انتهای دوره نیز تمرینهایی برای شما عزیزان قرار داده تا مهارت خود از آموزش بعد از اتمام دوره، محک بزنید.
اگر سوالی برایتان پیش آمد، میتوانید با رفتن به انجمن برنامه نویسی درسمن جواب خود را دریافت کنید. این اطمینان را به شما میدهم که تجربه یادگیری متفاوتی برایتان رقم خواهد خورد. بعد از گذارندن این دوره حتما نظرات و انتقادات خود را بازگو کنید. حالا من یک سوال از شما میپرسم: نظرتان درباره زبان سیشارپ چیست؟

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