آموزش سی شارپ (C#)

زبان برنامه نویسی سی شارپ یکی از محبوب ترین ها و پرکاربردترین ها در برنامه نویسی است. این زبان برنامه نویسی در اکثر دانشگاه‌های کشور به‌عنوان چند واحد درسی موردبررسی قرار می‌گیرد.

ما این آموزش را در ۷ فصل از صفر برای شما تهیه کرده ایم . این آموزش برای افرادی که هیچ گونه دانشی از برنامه نویسی ندارند و می خواهند با تازگی زبان برنامه نویسی سی شارپ را شروع کنند، مناسب می باشد

نگاه کلی به آنچه در آموزش سی شارپ می آموزید:

در بخش اول، با نکاتی برای شروع برنامه نویسی و پیدا کردن پروژه آشنا می شوید. همچنین یک پروژه ساده ماشین حساب را با هم کار می کنیم.

در بخش دوم، آموزش سی شارپ در قالب طراحی نرم افزار notepad ، چند کامپوننت ( ویکی پدیا ) و مفهوم جدید را مورد بررسی قرار می دهیم.

در بخش سوم، از آموزش برنامه نویسی تجاری با سی شارپ در ابتدا چند نمونه پروژه کاربردی از مبحث فایل ها را کد نویسی می کنیم و سپس به استریم ها می پردازیم و در آخر در مورد مدیریت خطاها در سی شارپ صحبت می کنیم.

در بخش چهارم، ابتدا برنامه taskmanager ویندوز را شبیه سازی می کنیم و در این نرم افزار سعی می کنیم کار با process ها در سی شارپ را آموزش دهیم در این آموزش کار با کنترل های timer , datagirdview در سی شارپ را یاد میگیرید، یاد میگیرید که چگونه یک تسک را از طریق سی شارپ ببندیم.

کار با رویدادهای صفحه کلید و متد های typeof  و gettype و همچنین معرفی کامپوننت های devComponent , telerik در این بخش آموزش داده می شود .

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

در بخش ششم، به طور کلی به معرفی انواع تکنولوژی های کار با بانک اطلاعاتی در سی شارپ می پردازیم و تکنولوژی ADO.Net , Linq , Entity Framework را با هم مقایسه می کنیم و در انتها یک برنامه ساده(دفترچه تلفن) را با تکنولوژی ADO.Net آموزش می دهیم و سعی می کنیم همه نکات لازم برای کار با بانک اطلاعاتی را در این روش بیان کنیم.

در بخش هفتم، پروژه بایگانی نامه های سازمان را با تکنولوژی ADO.Net و بانک اطلاعاتی SQL server انجام داده ایم.این بخش برای دوستانی که قصد یادگیری LINQ و Entity Framework را دارند، الزامی می باشد.

سرفصل های آموزش سی شارپ:

فصل اول: 

نکاتی که قبل از شروع باید بدانید:

  • چرا باید برنامه‌نویسی یاد گرفت؟
  • بررسی بازار کار برنامه نویسی و جامعه مخاطبین و پروژه ها در ایران
  • افراد و شرکت های موفق برنامه نویسی در ایران
  • انواع زبان های برنامه نویسی و مقایسه کلی آنها
  • بررسی زبان های برنامه نویسی مفسری و کامپایلری و مقایسه آنها
  • تفاوت زبان های آکادمیک و تجاری
  • آیا میتوان برنامه نویسی را در دانشگاه فرا گرفت؟
  • بررسی پلتفرم های پرطرفدار ویندوز ، وب و اندروید
  • بررسی امکانات ویژوال استودیو برای برنامه نویسی در پلتفرم های مختلف
  • معرفی و بررسی امکانات ویژوال استودیو برای انجام پروژه های تیمیTFS
  • دلیل استفاده از ویژوال استودیو در مقایسه با سایر IDE های موجود
  • بررسی تخصصیC# و اهم پروژه هایی که با این زبان نوشته شده است
  • با C# برای چه پلتفرم هایی میتوان نرم افزار تولید کرد؟
  • C# در برنامه نویسی ویندوز چه خصوصیاتی دارد؟
  • C# در برنامه نویسی وب چه خصوصیاتی دارد؟
  • C# در برنامه نویسی موبایل چه خصوصیاتی دارد؟
  • برترین و پرفروش ترین پروژه هایی که با C# نوشته شده چیست؟
  • محیط هایConsole , WPF , WindowsForm چه تفاوتی دارد؟
  • .NETFrameWork چیست و نسخه های مختلف آن چه تفاوتی دارد؟
  • ویژوال استودیو چه امکاناتی برای برنامه نویسی به ما می دهد؟
  • مایکروسافت چه پشتیبانی از C# میکند؟
  • مشکلات به وجود آمده در حین برنامه نویسی را چگونه میتوان رفع کرد؟
  • آیا برنامه های نوشته شده در C# را میتوان در سیستم عامل لینوکس و … اجرا کرد؟
  • سایت ویژوال استودیو چه امکاناتی برای برنامه نویسی ارائه می دهد

چطور وارد بازار کار شویم

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

  • شروع با انجام پروژه های دانشجویی
  • فعالیت در فروم های برنامه نویسی و معرفی خود به دیگران
  • فعالیت در سایت های فریلنسری و برون سپاری پروژه ها
  • نوشتن اولین پروژه حتی به صورت رایگان
  • داشتن یک وب سایت شخصی و معرفی خود و پروژه هایی که انجام داده اید
  • کار کردن برای شرکت های برنامه نویی فعال به صورت رایگان جهت کسب تجربه کافی
  •  تشکیل تیم برنامه نویسی با دوستان و برنامه ریزی جهت وورد به بازار کار
  • پیدا کردن افراد موفق برنامه نویس و استفاده از مشاوره و راه نمایی های آنها
  • ارسال رزومه خود به شرکت های برنامه نویسی مختلف حتی اگر کسی به شما زنگ نزند
  • پروژه های برنامه نویسی را قبول کنید حتی اگر توان انجام ان را نداشته باشی(این کمک می کنه که هم یاد بگیرید و هم پروژه رو انجام بدین)

ساخت اولین پروژه سی شارپ

  • آشنایی با محیط Visual Studio و Net.
  • Visual Studioچیست؟
  • صفحه نخستین Net.
  • نحوه ایجاد پروژه
  • چه نسخه ای از .NetFrameWork را برای پروژه های مختلف استفاده کنیم؟
  • منوهای پرکاربرد SolutionExplorer ، Propertise، Toolbox
  • منوهایDatasourse و ServerExplorer و TeamExplorer
  • منوی پرکاربرد Option ویژوال استودیو و تنظیمات آن برای کمک به ظاهر محیط کدنویسی
  • نحوه اجرا کردن پروژه
  • شناخت فایل های ایجاد شده با پروژه و بررسی دقیق انها

نکات اصولی زبان برنامه نویسی سی شارپ

  • سینکتس برنامه نویسی سی شارپ
  • شیوه کد نویسی صحیح
  • فضای نام (Name Space)
  • کلاس ها, متد ها و پراپرتی ها
  • متغیرها
  • ثوابت
  • آرایه ها و کلکسیون ها
  • عملگرهای ریاضی، شرطی و منطقی
  • ساختارهای کنترلی دستورات تصمیمگیری
  • ساختارهای کنترلی دستورات تکرار
  • تاریخ و ساعت و تبدیلات بین میلادی و شمسی

event and properties

  • رخداد (Event) چیست؟
  • مفهوم پارامتر اول رخدادها (Sender)
  • خواص(properties) چیست؟
  • متد چیست؟
  • شناخت اولین پارامتر متد ها(sender) و استفاده حرفه ای از آن
  • اشنایی با کنترل هایButton , Label , TextBox , MaskTextBox , Form
  • شناخت مهمترین خصوصیات و رخدادهای کنترل های ذکر شده
  • نکات کلیدی در طراحی حرفه ای تر و سریع تر پروژه
  • انواع روشهای تبدیل داده های متفاوت به یکدیگر با استفاده از Parse , convert
  • نحوه خروجی گرفتن از برنامه و نکات کلیدی آن
  • نکات حرفه ای:
    ۱٫محدود کردن textbox به دریافت کاراکترهای خاص
    ۲٫شناخت رخدادهای کی بورد
    ۳٫استفاده حرفه ای از sender و کاربرد های آن

فصل دوم: 

ساخت پروژه NotePad(مباحث فایلینگ و استریم ها)

  • اهمیت و موارد کاربرد فایل ها در پروژه های برنامه نویسی
  • طراحی ظاهر نرم افزار مشابه NotePad ویندوز با اشیا StripMenu و RichTextBox
  • استفاده از دیالوگ ها برای فراخوانی و ذخیره فایل
  • نحوه فیلتر کردن فرمت و تنظیم موارد اصلی دیالوگ به صورت پیشفرض
  • استفاده از PrintDialog در پروژه
  • استفاده از ColorDialog در پروژه
  • استفاده از OpenFileDialog و SaveFileDialog
  • معرفی کامل کتابخانه IO و موارد کاربرد آن
  • چگونه یک فایل جدید در محل دلخواه ایجاد کنیم؟
  • چگونه یک فایل و محتوای آن را تغییر دهیم؟
  • Stream چیست ؟
  • تفاوت inputstream با outstream
  • نحوه ایجاد FileStream
  • باز کردن فایل موجود برای خواندن و نوشتن
  • ایجاد فایل جدید برای خواندن و نوشتن
  • ذخیره فایل با فرمت دلخواه
  • تحلیل نحوه ساخت منویSaveAs
  • Find وReplace کردن متن انتخاب شده در کل فایل
  • عملیات هایCopy و Paste
  • استفاده از Clipboard
  • نحوه اعمال Font به پروژه و ذخیره فایل با فونت انتخاب شده
  • منوی کاربردی و مهم Exit را در عین سادگی چگونه اصولی پیاده سازی کنیم؟

فصل سوم :

طراحی پروژه Run  ویندوز 

  •  اموزش استفاده از accept button , cancel button در سی شارپ
  •  آموزش استفاده از کمبو باکس
  •  آموزش ساخت کنترل در زمان اجرا در سی شارپ
  • آموزش باز کردن برنامه های روی دیسک از طریق سی شارپ
  • آموزش ادرس دهی نسبی در سی شارپ
  •  آموزش کار با فایل ها جهت ذخیره سازی سابقه برنامه های باز شده

 انکریپت و دیکریپت کردن فایل ها در سی شارپ

حوه ایجاد یک استریم و خواندن و نوشتن در استریم

مدیریت خطا ها در سی شارپ

  • انواع خطاها در سی شارپ
  • تفاوت error , warning
  • انواع روشهای یافتن خطا در زمان اجرا
  • نحوه صحیح استفاده از breakpoint
  • مشاهده مقادیر متغیر ها(watch) در زمان اجرا
  • استفاده از messageBox در خطایابی پروژه
  • استفاده از کنترل errorProvider جهت کنترل ورودی های کاربر و جلوگیری از تولید خطا
  • آموزش انواع Exception در #C
  • استفاده صحیح از try , catch , finally

فصل چهارم: 

شبیه سازی برنامه taskmanager ویندوز 

  • کار با process ها در سی شارپ
  • کار با کنترل  datagirdviewدر سی شارپ
  • کار با کنترل timer در سی شارپ

معرفی رویداد های صفحه کلید در سی شارپ

  • کار با رویداد keyup
  • کار با رویداد keydown
  • کار با رویداد keypress

معرفی متد های gettype , typeof در سی شارپ

معرفی کامپوننت های devComponent , telerik در سی شارپ

نحوه نصب و استفاده از devcomponent در سی شارپ

فصل پنجم: 

بانک اطلاعاتی

  •  معرفی بانک اطلاعاتی و نقش آن در برنامه نویسی
  • معرفی انواع بانک های اطلاعاتی و بانک های اطلاعاتی رابطه ای و غیر رابطه ای
  • بانک اطلاعاتی  اکسس و نحوه ساخت جدول و ایجاد ارتباطات بین جداول و در نهایت ایجاد کوئری
  • نصب Sql server 2014 و نصب sql server را به دو صورت نرمال و سایلنت
  • آموزش بانک اطلاعاتی sql server2014 و نحوه ایجاد جدول و ارتباط بین جداول از طریق relationship
  • دیاگرام ها در Sql server 2014
  • معرفی view ها و نحوه استفاده از آنها
  • attach کردن و detach دیتابیس
  • آفلاین و انلاین کردن دیتابیس
  • backup و Restore کردن دیتابیس
  • معرفی زبان SQL  و سینتکس زبان SQL
  • دستور Select
  • دستور insert into
  • دستور update
  • دستور Delete

فصل ششم: 

تکنولوژی ADO.Net

  • معرفی تکنولوژی های کار با دیتابیس در سی شارپ و مقایسه ADO.Net , Linq , Entity Framework
  • معرفی پنجره server explorer و نحوه اتصال بانک اطلاعاتی در سی شارپ
  • معرفی رشته اتصال یا connection string
  • شروع کار با ADO.Net و معرفی دیتاست و TableAdaptor و نمایش اطلاعات دیتابیس در دیتا گرید ویو
  • ثبت داده ها در دیتابیس با تکنولوژی ADO.Net و TableAdaptor
  • حذف اطلاعات از بانک اطلاعاتی با روش های مختلف و معرفی تابع sendkey و موارد استفاده آن
  • ویرایش اطلاعات بانک اطلاعاتی با ADO.Net به روش های مختلف
  • Aggregate function ها در sql
  • جست جوی اطلاعات از بانک اطلاعاتی و نمایش ان در دیتا گرید ویوپ
  • نحوه اضافه کردن ردیف به دیتا گرید ویو به روش های مختلف و بررسی انواع آن
  • نحوه درج تصویر در بانک اطلاعاتی به صورت باینری و نمایش آن در دیتا گرید ویو و یا خود picture box
  • شیوه تبدیل عکس به باینری و تبدیل داده های باینری به عکس
  • نحوه درج تصویر در بانک اطلاعاتی به شکل ذخیره عکس در فولدر و نگه داره مسیر عکس در دیتابیس و مقایسه این روش با روش باینری.

فصل هفتم: 

پروژه بایگانی نامه های سازمان

  • معرفی پروژه بایگانی نامه های سازمان و بررسی امکانات مورد نیاز
  • تحلیل و طراحی دیتابیس
  •  ادامه تحلیل و طراحی دیتابیس
  • طراحی فرم اصلی و نکات کلیدی در طراحی فرم اصلی
  •  ادامه تحلیل دیتابیس، برقراری ارتباطات بین جداول
  • طراحی فرم ثبت نامه ها
  • ادامه طراحی فرم ثبت نامه ها، دیتا بایندینگ کنترل ها با دیتابیس
  • ادامه طراحی فرم ثبت نامه ها
  • ادامه طراحی فرم ثبت نامه ها، چک کردن فرودی ها قبل از ثبت،کار با errorprovider، چک کردن تاریخ
  • کار با تاریخ ها در سی شارپ، عملیات بر روی تاریخ میلادی
  • کار با تاریخ ها در سی شارپ، کار با تاریخ شمسی و عملیات رو روی تاریخ شمسی
  • کار با تاریخ ها در سی شارپ، culture info و تبدیل تاریخ میلادی به شمسی و برعکس
  • ادامه طراحی فرم ثبت نامه ها، نمایش نامه های ثبت شده
  • نحوه چک کردن همه کنترل های روی فرم به شکل اتومات
  • طراحی فرم ثبت پیوست نامه ها، ذخیره پیوست نامه در پوشه و ادرس آن در دیتابیس
  • طراحی فرم اصلی ،اضافه کردن ردیف به گرید ویو ، تبدیل شماره سازمان به نام سازمان
  • طراحی جستجو برای فرم اصلی و فیلتر کردن  نامه ها با جستجوی پیشرفته و داینامیک ، جستجوی پیشرفته براساس تاریخ
  • نمایش پیوست های نامه
  • حذف نامه ها و حذف پیوستت ها آن
  • نمایش جزئیات بیشتر از نامه ها در فرم اصلی

تمرین ها:

فصل دوم: 

بعد از مشاهده آموزش، انتظار می رود دانشجو بتواند پروژه های زیر را انجام دهد:

۱- برنامه ای مشابه برنامه Run ویندوز پیاده سازی کنید.

 

۲- برنامه ای مشابه برنامه notepadویندوز با کلیه امکانات و ریزه کاری ها پیاده سازی کنید.

 

۳- برنامه ای بنویسید که اول لیست درایو ها را در یک listboxنمایش دهد با کلیک بر روی هر درایو فایل ها و پوشه های هر درایو را داخل یک لیست باکس دوم نمایش دهد و در اخر با کلیک بر روی هر فایل آن فایل را توسط payere پیشفرض ویندوز باز نماید. تقریبا مشابه برنامه Explorer ویندوز البته با ظاهر ساده تر

فصل سوم:

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

این برنامه را هم با استریم ها و هم به صورت ساده پیاده سازی کنید.

فصل چهارم: 

۱- برنامه تسک منیجیر را مشابه تسک منیجر ویندوز طراحی کنید

۲- برنامه ای مشابه اسکرین سیور ویندوز که حباب ها روی صفحه رندوم حرکت می کنند طراحی کنید

۳- مجموعه کامپوننت های تلریک را دانلود و نصب کنید

۴- برنامه ای بنویسید که یک دکمه روی صفحه را با کلید های جهت نما روی صفحه حرکت دهید به این صورت که جهت سمت راست را یکبار فشار دادید دکمه تا اخرین نقطه فرم حرکت کند و به انتها که رسید بایستد و همین طور برای بقیه جات این کار را انجام دهید.

فصل پنجم: 

دیتابیسی با نام schoolDB ایجاد کنید.

جدول های زیر را داخل ان ایجاد کنید

tblstudent(studentid int primary key, fname charchar , lname varchar , address  varchar);

tblcourse(courseid int primary key , coursename varchar , vahed int)

tblnomre(studentid , courseid , nomre)

برای هر کدام از جداول ۲۰ ریکرود ثبت کنید و سپس کوئری های زیر را بر روی آن انجام دهید.

۱- لیست دانشجویان بیرجندی را نمایش دهید

۲- لیست دروس ۲ واحدی را نمایش دهید

۳- دانشجویان با نمره بیشتر از ۱۵ در درس ریاضی را لیست کنید( از view استفاده کنید)

۴- لیست دانشجویان به همراه دروسشان را نمایش دهید(از view استفاده کنید)

۵- لیست دانشجویان درس ریاضی را به ترتیب نمره به صورت صعودی نمایش دهید(از ویو استفاده کنید)

فصل ششم: 

طبق اموزش برنامه دفترچه تلفنی مشابه عکس زیر و با امکانات ذکر شده طراحی کنید.

دفتره تلفن در سی شارپ

امکانات این دفترچه تلفن:

۱- امکان اضافه ، ویرایش ، حذف مخاطبین

۲- امکان افزودن تصویر مخاطبین به اطلاعات مخاطبین

۳- امکان گروه بندی و دسته بندی مخاطبین

۴- امکان جستجوی پیشرفته مخاطبین

۵- وجود ۹ تم زیبا برای محیط برنامه

۶- ثبت تاریخ و زمان در هنگام وارد کردن اطلاعات مخاطبین