آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ آموزش سی شارپ
سی شارپ، یک زبان برنامه نویسی شیگرا است که توسط شرکت مایکروسافت عرضه شده است. این زبان یکی از بهترین و قدرتمندترین زبان های برنامه نویسی موجود می باشد و بسیاری از پروژه ها و نرم افزارها در سطح دنیا، با این زبان محبوب پیاده سازی شده اند. زبان #C با قدرت و در عین حال سطح بالای خود توانسته است توجه بسیاری از برنامه نویسان را در سرتاسر دنیا به خود جلب کند.
سی شارپ یک زبان Cross-Platform است و به همین دلیل شما می توانید با استفاده از آن برای پلتفرم های مختلف برنامه نویسی کنید. یعنی شما با استفاده از این زبان می توانید برای انواع سخت افزارها(کامپیوتر، موبایل، لوازم خانگی و…) و انواع سیستم عامل ها(ویندوز، اندروید، iOS، مک، لینوکس و…) برنامه نویسی و نرم افزار تولید کنید. در بحث طراحی سایت نیز شما می توانید با استفاده از این زبان و تکنولوژی ASP، وب سایت های مد نظر خود را طراحی کنید. علاوه بر اینها، شما با استفاده از زبان سی شارپ و موتور بازی سازی Unity، می توانید در حوزه بازی سازی نیز فعالیت کنید. همچنین هوش مصنوعی و یادگیری ماشین.
ما در این دوره قصد داریم زبان سی شارپ را از صفر تا ۱۰۰ به شما آموزش دهیم. شما با مشاهده این دوره به صورت کامل با این زبان محبوب آشنا خواهید شد.
مواردی که در آموزش جامع و کامل سی شارپ بررسی شده است:
بخش اول: مقدمه
- معرفی دوره
- آشنایی با نرم افزار و انواع آن
- برنامه نویسی چیست؟
- زبان برنامه نویسی چیست؟
- آشنایی با انواع زبان های برنامه نویسی
- آشنایی با کاربرد زبان های برنامه نویسی مختلف
- آشنایی با مترجم و انواع آن(کامپایلر، مفسر و اسمبلر)
- آیا بهترین زبان برنامه نویسی وجود دارد؟
- دلیل تنوع و تعداد بالای زبان های برنامه نویسی چیست؟
- منظور از سطح بالا، سطح میانی و سطح پایین بودن یک زبان برنامه نویسی
- بررسی مفاهیم Native و Cross-Platform در زبان های برنامه نویسی
- بررسی مفاهیم فرانت اند(سمت کلاینت) و بک اند(سمت سرور) در زبان های برنامه نویسی
- بررسی مفهوم پارادایم در زبان های برنامه نویسی
بخش دوم: مبانی کامپیوتر
- آشنایی با اجزای کامپیوتر
- آشنایی با عملکرد یک سیستم کامپیوتری
- آشنایی با واحدهای اندازه گیری حافظه(بیت، بایت، کلمه، کارکتر، کیلوبایت، مگابایت، گیگابایت، ترابایت، پتابایت، اگزابایت، زتابایت، یوتابایت، سوتابایت)
- تبدیل واحدهای اندازه گیری حافظه به یکدیگر
- آشنایی با سیستم اعداد(طبیعی، حسابی، صحیح، گویا، گنگ، حقیقی، مختلط)
- آشنایی با مبناها(دودویی یا باینری، هشت یا اوکتال، ده یا دسیمال، شانزده یا هگزا دسیمال)
- تبدیل مبناها به یکدیگر
بخش سوم: الگوریتم و فلوچارت
- الگوریتم چیست؟
- قوانین کار با الگوریتم
- استفاده از جملات شرطی در الگوریتم
- استفاده از حلقه های تکرار در الگوریتم
- نوشتن چند الگوریتم
- الگوریتم محاسبه مجموع دو عدد
- الگوریتم دریافت دو عدد و نمایش عدد بزرگتر
- الگوریتم محاسبه فاکتوریل
- الگوریتم تعیین زوج یا فرد بودن یک عدد
- الگوریتم محاسبه مجموع ارقام یک عدد
- الگوریتم تعیین اول یا مرکب بودن یک عدد
- فلوچارت چیست؟
- آشنایی با علائم فلوچارت
- رسم چند فلوچارت
- فلوچارت محاسبه مجموع دو عدد
- فلوچارت دریافت دو عدد و نمایش عدد بزرگتر
- فلوچارت محاسبه فاکتوریل
- فلوچارت تعیین زوج یا فرد بودن یک عدد
- فلوچارت محاسبه مجموع ارقام یک عدد
- فلوچارت تعیین اول یا مرکب بودن یک عدد
بخش چهارم: آشنای با اصطلاحات تکنولوژی دات نت و زبان سی شارپ
- سی شارپ چیست و چرا باید از آن استفاده کنیم؟
- کاربرد زبان سی شارپ و نرم افزارهای قابل توسعه
- NET. چیست؟
- NET Framework. چیست؟
- Xamarin چیست؟
- NET Core. چیست؟
- NET Standard. چیست؟
- تفاوت NET Runtime. و NET Developer Pack(SDK).
- بررسی معماری دات نت و اجزای اصلی تشکیل دهنده آن(CLR, CTS, CLS, BCL, FCL, CIL, MSIL, IL)
- IDE چیست؟
- Visual Studio چیست؟
- بررسی تاریخچه ورژن های مختلف زبان سی شارپ
بخش پنجم: آشنایی با محیط و رابط کاربری Visual Studio
- نصب و راه اندازی Visual Studio
- آشنایی با قسمت Recent Projects
- آشنایی با انواع محیط های برنامه نویسی با زبان سی شارپ
- ایجاد پروژه جدید
- بررسی انواع پروژها
- آشنایی با قسمت های مختلف Visual Studio
- آشنایی با پنجره Toolbox
- آشنایی با پنجره Server Explorer
- آشنایی با پنجره Solution Explorer
- آشنایی با پنجره Properties
- آشنایی با پنجره Error List
- آشنایی با پنجره Reference Manager
- آشنایی با ویرایشگر کد
- آشنایی با نوار منو
- آشنایی با نوار ابزار
- آشنایی با کلاس Program
- نحوه مشاهده قسمت تنظیمات ویژوال استودیو
- نحوه نمایش شماره خطوط در Visual Studio
- نحوه تنظیم فونت، اندازه فونت و میزان زوم قسمت کدنویسی یا ویرایشگر کد
- آشنایی با قسمت خصوصیات پروژه(…,Application, Build, Resources, Settings)
بخش ششم: شروع به کار و آشنایی با مفاهیم اولیه
- آشنایی با قالب کلی دستورات سی شارپ
- آشنایی با فضای نام(NameSpace)
- آشنایی با قواعد سی شارپ
- آشنایی با کلمات کلیدی و رزرو شده
- آشنایی با اسامی صحیح کاراکترهای رایج در کامپیوتر و برنامه نویسی
بخش هفتم: آشنایی با محیط Console
- آشنایی با متد Main
- آشنایی با کلاس Console
- آشنایی با متد Write
- آشنایی با متد WriteLine
- آشنایی با متد ReadLine
- آشنایی با متد Read
- آشنایی با متد ReadKey
- نحوه تغییر خصوصیات BackgroundColor و ForegroundColor محیط کنسول
- نوشتن برنامه Hello World
- آشنایی با نحوه اجرا کردن پروژه
- آشنایی با نحوه Build کردن پروژه در ویژوال استودیو
- تفاوت Build و اجرا کردن پروژه
- تفاوت Build و Rebuild
- تفاوت گرفتن خروجی از پروژه به صورت Debug و Release
آشنایی با فایل های ایجاد شده بعد دیباگ کردن پروژه - آشنایی با نحوه قرار دادن Comment
بخش هشتم: کار با متغیرها(Variables)
- آشنایی با متغیرها و کاربرد آنها
- آشنایی با دسته بندی متغیرها(Value Type و Reference Type)
- آشنایی با انواع داده ها(Data Type)
- بررسی میزان حافظه اشغالی و ظرفیت هر نوع داده
- توضیح در رابطه با انتخاب نوع داده ای مناسب برای متغیرها
- نحوه تعریف یک متغیر
- نحوه مقداردهی یک متغیر(به صورت اولیه و بعد از تعریف متغیر)
- نحوه تعریف چند متغیر به صورت گروهی
- نحوه مقداردهی چند متغیر به صورت گروهی
- نحوه چاپ مقدار متغیر
- بررسی اسامی مجاز و غیرمجاز برای نامگذاری متغیرها
- آشنایی با نوع داده ای Enum
- آشنایی با نوع داده Dynamic
- آشنایی با نوع داده ای Object
- آشنایی با نوع داده ای Struct
- آشنایی با کلمه کلیدی var
- بررسی نحوه نامگذاری متغیرها در محل ها و دسترسی های مختلف
- آشنایی با ثابت ها(Constants) و کاربرد آنها
- استفاده از کلمه کلیدی new
- Nullable کردن یک متغیر
- آشنایی با روش های تبدیل انواع داده ها به یکدیگر
- منظور از تبدیل ضمنی و صریح
- تبدیل انواع داده ها به یکدیگر
- کار با متد Parse
- کار با متد TryParse
- کار با متد Convert
- بررسی روش Casting هنگام تبدیل انواع داده ها
- بررسی تفاوت های روش ها و متدهای مختلف
بخش نهم: کار با عملگرها(Operators)
- آشنایی با عملگرها و کاربرد آنها
- تفاوت عملگر و عملوند
- آشنایی با عملگرهای محاسباتی
- آشنایی با عملگرهای رابطه ای
- آشنایی با عملگرهای منطقی
- آشنایی با عملگرهای انتسابی
- آشنایی با عملگرهای بیتی
- آشنایی عملگرهای متفرقه(, ,() ,sizeof, typeof, getType, &, *, ?:, is, as)
- بررسی حق تقدم عملگرها
بخش دهم: کار با دستورات شرطی
- آشنایی با دستورات شرطی و کاربرد آنها
- کار با ساختار تصمیم if
- کار با ساختار if تودرتو if else
- کار با ساختار تصمیم switch
بخش یازدهم: کار با ساختارهای تکرار
- آشنایی با حلقه ها و کاربرد آنها
- آشنا با انواع حلقه ها
- کار با حلقه for
- کار با حلقه foreach
- کار با حلقه while
- کار با حلقه Do/While
- کار با دستورات Break و Continue
- ایجاد حلقه بی نهایت
- کار با حلقه های تو در تو
- شمارش معکوس در حلقه
بخش دوازدهم: کار با آرایه ها(Arrays)
- آشنایی با آرایه و کاربرد آن
- آشنا با انواع آرایه ها
- آشنایی با آرایه های تک بعدی و چند بعدی
- آشنایی با Jagged Array
- تعریف آرایه با روش های مختلف
- نحوه مقداردهی اولیه آرایه ها
- نحوه مقداردهی آرایه ها در زمان اجرا
- نحوه تغییر مقادیر خانه های آرایه
- دستیابی به عناصر آرایه و چاپ آنها
- نحوه مرتب سازی مقادیر آرایه
- آشنایی با کلاس Array
- نحوه گرفتن طول آرایه
بخش سیزدهم: کار با توابع(Function)
- آشنایی با توابع و انواع آن
- بررسی تفاوت متد و تابع در سی شارپ
- آشنایی با نحوه تعریف تابع و فراخوانی آن
- آشنایی با آرگومان و پارامتر و تفاوت آنها در توابع
- نحوه دادن مقادیر پیش فرض به پارامترها
- کار با کلمه کلیدی Return
- ارسال پارامترها با مقدار و با ارجاع و بررسی تفاوت آنها با یکدیگر
- آشنایی با کلمات کلیدی ref و out
- نحوه برگشت بیش از یک مقدار در یک تابع
- ارسال تعداد دلخواه آرگومان هم نوع در یک پارامتر
- آشنایی با توابع بازگشتی
بخش چهاردهم: کار با رشته ها
- تعریف یک متغیر از نوع رشته
- آشنایی با کلیه متدها و خاصیت های کار با رشته ها
- CopyTo
- Length
- CompareTo
- Equals
- StartsWith
- EndsWith
- IndexOf
- LastIndexOf
- IndexOfAny
- LastIndexOfAny
- Replace
- ToUpper
- ToLower
- Trim
- TrimEnd
- TrimStart
- Substring
- Remove
- Insert
- PadLeft
- PadRight
- Split
- Contains
- ToCharArray
- کار با ساختار Format
- آشنایی با کلیه قالب های ساختار Format
- آشنایی با کارکترها کنترلی(a, \t, \v, \n\ ,\\ , “\ , ‘\)
- کار با کلاس StringBuilder
بخش پانزدهم: پیاده سازی چند پروژه در محیط Console
- برنامه محاسبه مجموع دو عدد
- برنامه دریافت دو عدد و نمایش عدد بزرگتر
- برنامه محاسبه فاکتوریل
- برنامه تعیین زوج یا فرد بودن یک عدد
- برنامه محاسبه مجموع ارقام یک عدد
- برنامه تعیین اول یا مرکب بودن یک عدد
بخش شانزدهم: آشنایی با محیط Windows Form
- آشنایی با فرم ها و کنترل ها
- آشنایی با خواص و رویدادهای فرم ها و کنترل ها
- نحوه اضافه کردن کنترل ها روی فرم از جعبه ابزار
- نحوه اضافه کردن کنترل جدید به جعبه ابزار
- بررسی روش های CamelCase و PascalCase برای نامگذاری کنترل ها
- معرفی کنترل های عمومی و پرکاربرد
- کنترل Button
- کنترل CheckBox
- کنترل CheckedListBox
- کنترل ComboBox
- کنترل DateTimePicker
- کنترل Label
- کنترل LinkLabel
- کنترل ListBox
- کنترل ListView
- کنترل MaskedTextBox
- کنترل MonthCalendar
- کنترل NotifyIcon
- کنترل NumericUpDown
- کنترل PictureBox
- کنترل ProgressBar
- کنترل RadioButton
- کنترل RichTextBox
- کنترل TextBox
- کنترل ToolTip
- کنترل TreeView
- کنترل WebBrowser
- کنترل GroupBox
- کنترل Panel
- کنترل TabControl
- کنترل ContextMenuStrip
- کنترل MenuStrip
- کنترل ErrorProvider
- کنترل ImageList
- کنترل Timer
- کنترل DataGridView
- کنترل TrackBar
بخش هفدهم: پیاده سازی چند پروژه در محیط Windows Form
- برنامه محاسبه مجموع دو عدد
- برنامه دریافت دو عدد و نمایش عدد بزرگتر
- برنامه محاسبه فاکتوریل
- برنامه تعیین زوج یا فرد بودن یک عدد
- برنامه محاسبه مجموع ارقام یک عدد
- برنامه تعیین اول یا مرکب بودن یک عدد
بخش هجدهم: کار با کادرهای محاوره ای
- آشنایی با OpenFileDialog و کلیه متدها و خواص آن
- آشنایی با SaveFileDialog و کلیه متدها و خواص آن
- آشنایی با FolderBrowserDialog و کلیه متدها و خواص آن
- آشنایی با FontDialog و کلیه متدها و خواص آن
- آشنایی با ColorDialog و کلیه متدها و خواص آن
- آشنایی با Messegebox و کلیه متدها و خواص آن
بخش نوزدهم: کار با ماوس و صفحه کلید
- آشنایی رویدادهای صفحه کلید
- KeyDown
- KeyPress
- KeyUp
- بررسی تفاوت KeyDown ،KeyPress و KeyUp با یکدیگر
- کار با کد اسکی
- تبدیل کد اسکی به کارکتر
- تبدیل کارکتر به کد اسکی
- دریافت کد و نام کلید فشرده شده از صفحه کلید
- آشنایی با رویدادهای ماوس
- MouseClick
- MouseDoubleClick
- MouseDown
- MouseEnter
- MouseHover
- MouseLeave
- MouseMove
- MouseUp
- تغییر شکل اشاره گر ماوس
بخش بیستم: مدیریت خطاها
- آشنایی با انواع استثنا و مدیریت آنها
- خطاهای دستوری(Syntax errors)
- خطاهای زمان اجرا(Runtime Errors)
- خطاهای زمان ترجمه(Compile Time Error)
- خطای منطقی(Logical Error)
- تفاوت Warning ،Message و Error در پنجره Error List
- کار با بلوک های try / catch / finally
- کار با Exception Filter
- استفاده از چندین بلوک catch با پارامترهای مختلف
- ایجاد بلوک catch بدون پارامتر
- ایجاد بلوک catch با پارامتر Exception
- ایجاد بلوک های try-catch تو در تو
- آشنایی با کلاس Exception
- آشنایی با خاصیت Message
- آشنایی با خاصیت InnerException
- آشنایی با دستور throw
- نحوه صحیح استفاده از Breakpoint
- حرکت بین کدها در هنگام Debug
- آشنایی با کلمات کلیدی Checked و Unchecked
بخش بیست و یکم: کار با فایل ها و پوشه ها
- آشنایی با فضای نام System.IO
- آشنایی با کلاس File و کلیه متدهای آن
- آشنایی با کلاس FileInfo و کلیه متدها و خواص آن
- آشنایی با کلاس Directory و کلیه متدهای آن
- آشنایی با کلاس DirectoryInfo و کلیه متدها و خواص آن
- آشنایی با کلاس Path و کلیه متدهای آن
- نحوه ایجاد، کپی، حذف، تغییر نام و… پوشه ها
- نحوه ایجاد، کپی، حذف، تغییر نام و… فایل ها
- Stream چیست ؟
- آشنایی با کلاس FileStream
- آشنایی با کلاس StreamReader
- آشنایی با کلاس StreamWriter
- آشنایی با کلاس BinaryReader
- آشنایی با کلاس BinaryWriter
- آشنایی با کلاس Encoding
- ایجاد فایل متنی و نوشتن در آن
- ویرایش اطلاعات فایل متنی
- پیاده سازی یک پروژه جهت کار با فایل های متنی و انجام عملیات مختلف روی آن
- آشنایی با کلاس FileSystemWatcher جهت مانیتور کردن فایل ها و پوشه ها در یک مسیر
- آشنایی با رویدادهای Deleted ،Renamed ،Changed و Created کلاس FileSystemWatcher
- پیاده سازی یک پروژه جهت مانیتور کردن یک مسیر
- کار با بلوک using
بخش بیست و دوم: کار با تاریخ و زمان
- آشنایی با DateTime و کلیه متدها و خواص آن
- آشنایی با TimeSpan و کلیه متدها و خواص آن
- کار با تاریخ شمسی
- آشنایی با فضای نام System.Globalization
- آشنایی با کلاس PersianCalendar
- تبدیل تاریخ میلادی به شمسی و بالعکس
- جمع، تفریق و مقایسه دو تاریخ با یکدیگر
- جمع، تفریق و مقایسه دو زمان با یکدیگر
- تبدیل تاریخ و زمان از نوع رشته ای به DateTime
بخش بیست و سوم: کار با سایر کلاس ها در سی شارپ
- کار با کلاس Application برای مدیریت برنامه
- کار با کلاس ApplicationContext
- کار با کلاس Mutex
- کار با کلاس Guid جهت تولید عبارات منحصربه فرد
- کار با کلاس Random جهت تولید اعداد تصادفی
- کار با کلاس Math جهت اعمال ریاضی
- کار با کلاس Clipboard جهت کار با حافظه موقت
- کار با کلاس Environment جهت دریافت اطلاعات سیستم
- کار با کلاس DriveInfo جهت بدست آوردن اطلاعات درایوها
- کار با کلاس SendKeys جهت کار با کلیدها
- کار با کلاس Image جهت کار با تصاویر
- کار با Color جهت کار با رنگ ها
- کار با کلاس ZipFile جهت فشرده سازی فایل ها
- اجرای فایل ها از مسیر برنامه
- باز کردن فرم فقط یکبار و فعال کردن آن در صورت باز بودن
- مشخص کردن اولین فرم اجرا شونده هنگام اجرای نرم افزار
- تغییر خصوصیات یک فرم و کنترل های آن از طریق فرم دیگر
- اجرای تنها یک نمونه از برنامه
بخش بیست و چهارم: کار با عبارات با قاعده(Regular Expression)
- آشنایی با عبارات باقاعده و کاربرد آن
- آشنایی با سینتکس های مختلف
- آشنایی با کلاس Regex
- آشنایی با کلاس Match
- آشنایی با متد Match
- آشنایی با کلاس MatchCollection
- آشنایی با متد Matches
- آشنایی با متد Replace
- آشنایی با متد Split
- بررسی مثال های مختلف
- بررسی صحت شماره موبایل
- بررسی صحت آدرس ایمیل
بخش بیست و پنجم: ایجاد کتابخانه و UserControl
- آشنایی با کتابخانه و کاربرد آن
- آشنایی با UserControl و کاربرد آن
- تفاوت کتابخانه و UserControl
- بررسی مزایای استفاده از کتابخانه و UserControl
- آشنایی با نحوه ایجاد کتابخانه
- آشنایی با نحوه ایجاد UserControl
- ایجاد خاصیت برای UserControl
- ایجاد خاصیت لیستی برای UserControl
- قرار دادن آیکن برای UserControl
بخش بیست و ششم: چندرسانه ای در سی شارپ
- کار با فایل های صوتی
- کار با کلاس SoundPlayer
- پخش فایل های صوتی با فرمت WAV
- پخش فایل های صوتی به صورت استریم
- کار با فایل های تصویری
- کار با کنترل Windows Media Player
- پخش فایل های تصویری
بخش بیست و هفتم: کار با Processها در سی شارپ
- آشنایی با مفهوم Process
- بررسی پنجره Task Manager در ویندوز و مشاهده لیست Processهای در حال اجرا
- بررسی فضای نام System.Diagnostics
- آشنایی با کلاس Process
- نحوه دریافت لیست Processهای همه نرم افزارها
- نحوه دریافت لیست Processهای یک نرم افزار
- نحوه اجرای برنامه ها و فایل ها
- اجرای مسیرهای ویندوز
- اجرای برنامه های ویندوز
- اجرای برنامه های نصب شده
- اجرای یک فایل با دادن مسیر آن(با برنامه پیشفرض)
- اجرای یک فایل با دادن مسیر آن(با برنامه دلخواه)
- باز کردن یک آدرس اینترنتی(با مرورگر پیشفرض)
- باز کردن یک آدرس اینترنتی( با مرورگر دلخواه)
- نحوه متوقف کردن یک Process
- بررسی تفاوت متدهای Close ،Kill و CloseMainWindow(جهت بستن یک Process)
- آشنایی با کلاس ProcessStartInfo
بخش بیست و هشتم: کار با Windows Service در سی شارپ
- آشنایی با ویندوز سرویس و کاربرد آن
- آشنایی با بخش Services در ویندوز
- آشنایی قسمت های Description ،Status ،Startup Type ،Log On As و Name در بخش Services در ویندوز
- ایجاد یک Windows Service
- کار با متدهای OnStop و OnStart
- اعمال تنظیمات مورد نیاز جهت نصب روی سیستم کاربر
- نصب ویندوز سرویس به صورت دستی
- ایجاد فایل Setup برای نصب ویندوز سرویس با نرم افزار InstallShield
- بررسی نحوه حذف ویندوز سرویس
بخش بیست و نهم: کار با توابع API
- آشنایی با توابع API
- چند مثال با توابع API
- به صدا در آوردن صدای بوق سیستم
- گرفتن ID پنجره فعال
- تغییر عنوان پنجره فعال
- مخفی و نمایش نشانگر ماوس
- تغییر تاریخ و زمان سیستم
- بررسی اتصال اینترنت
- روشن و خاموش کردن کلیدهای Num Lock ،Caps Lock و ScrollLock(به صورتی که چراغ هم روشن و خاموش شود)
بخش سی ام: گرافیک در سی شارپ
- آشنایی با GDI+
- آشنایی با سطوح ترسیم
- آشنایی با سیستم مختصات
- آشنایی با متدهای رسم
- آشنایی با شی Graphics
- آشنایی با کلاس Pen
- آشنایی با کلاس Brush
- آشنایی با کلاس Bitmap
- آشنایی با کلاس Font
- آشنایی با نوع Point
- آشنایی با نوع Rectangle
- آشنایی با نوع Size
- آشنایی با متد CreateGraphics
- آشنایی با متد Clear
- آشنایی با فضای نام System.Drawing
- آشنایی با فضای نام System.Drawing.Text
- آشنایی با فضای نام System.Drawing.Drawing2D
- آشنایی با فضای نام System.Drawing.Imaging
- آشنایی با نحوه ایجاد اشیای گرافیکی
- آشنایی با نحوه رسم اشکال گرافیکی
- رسم خط
- رسم مستطیل و مربع
- رسم دایره و بیضی
- رسم کمان
- رسم منحنی بزیه
- رسم منحنی بسته
- رسم منحنی باز
- رسم آیکون
- رسم تصویر
- رسم مسیر
- رسم چندضلعی
- رسم نمودار
- رسم متن
- کار با فونت ها
- کار با رنگ ها
- نحوه ایجاد قلم
- ایجاد طیف رنگ
- قرار دادن متن روی تصویر و ذخیره آن
- رسم درخت فیثاغورث
- سیاه و سفید کردن عکس
بخش سی و یکم: شی گرایی در سی شارپ
- برنامهنویسی شی گرا چیست؟
- کلاس چیست؟
- Object(شیء) چیست؟
- ایجاد کلاس
- نمونه سازی از کلاس
- نحوه تعریف شئ(object) از روی کلاس
- آشنایی با کلمه کلیدی new
- تفاوت new کردن یک کلاس(نمونه سازی) با عدم new کردن(ایجاد ارجاع کننده)
- معرفی و کار با اعضای کلاس
- آشنایی با ثوابت(Constants)
- آشنایی با فیلدها(Fields)
- آشنایی با متدها(Methods)
- آشنایی با خواص(Properties)
- آشنایی با سازنده ها(Constructor)
- آشنایی با تخریب کننده ها(Destructor)
- آشنایی با شاخص بندی ها(Indexers)
- بررسی تفاوت Variable ،Fields و Property(همراه با مثال های مختلف)
- Overload کردن Constructorها
- کار با متدها set و get
- نحوه تعریف Automatic Properties
- کنترل دسترسی به مقادیر فیلدها
- آشنایی با کلمه کلیدی this
- آشنایی با مفهوم وراثت(Inheritance)
- ارث بری چند سطحی
- بررس نحوه تبدیل کلاس های مشتق شده به کلاس والد
- سازنده ها در کلاس های فرزند و والد
- آشنایی با کلاس های مهر و موم شده(Sealed)
- آشنایی با کلمه کلیدی base
- آشنایی با مفهوم چندریختگی(Polymorphism)
- آشنایی با کلمه کلیدی Virtual
- Override کردن متد(بازنویسی)
- Overload کردن متدها(متدهای همنام)
- آشنایی با کلاس های انتزاعی(Abstraction)
- تعریف متدهای abstract
- آشنایی با انواع دسترسی(Public, Private, Protected, Internal, Protected Internal)
- آشنایی با مفهوم کپسوله سازی(Encapsulation)
- مخفی سازی اعضاء بوسیله کلمه کلیدی new
- آشنایی با نوع Readonly
- اشیاء و اعضای استاتیک(…,Class, Method, Variables)
- سازنده های static
- کلاس های partial
- ایجاد کلاس های تو در تو
- ارسال چند پارامتر به متد
- آشنایی با Interface
- بررسی کاربرد Interface
- ایجاد Interface
- بررسی انواع روش های ایجاد Interface
- روش Implicite
- روش Explicit
بخش سی و دوم: Reflection در سی شارپ
- آشنایی با Reflection
- کاربرد Reflection
- آشنایی با کلاس Type
- استفاده از GetType و typeof
- کار با کلاس ConstructorInfo
- کار با متد GetConstructors
- کار با کلاس MethodInfo
- کار با متد GetMethods
- کار با کلاس PropertyInfo
- کار با متد GetProperties
- کار با کلاس ParameterInfo
- کار با متد GetParameters
- کار با کلاس FieldInfo
- کار با متد GetFields
- کار با Late Binding
- آشنایی با کلاس Activator
- آشنایی با کلاس Assembly
بخش سی و سوم: کار با جنریک ها و کالکشن ها(Generics And Collections)
- آشنایی با پشته
- آشنایی با صف
- آشنایی با درخت
- کلاس های خود ارجاع
- پیاده سازی درخت دودویی در سی شارپ
- آشنایی با Generics
- ایجاد کلاس به صورت جنریک
- پیاده سازی اعضای کلاس به صورت جنریک
- ایجاد متد به صورت جنریک
- منظور از حرف T در کار با جنریک ها
- منظور از Boxing و Unboxing
- آشنایی با Collections
- آشنایی با Non-generic Collections
- آشنایی با کلاس Stack
- آشنایی با کلاس Queue
- آشنایی با کلاس ArrayList
- آشنایی با کلاس BitArray
- آشنایی با کلاس SortedList
- آشنایی با کلاس Hashtable
- آشنایی با Generic Collections
- آشنایی با کلاس <List<T
- آشنایی با کلاس <Dictionary<TKey,TValue
- آشنایی با کلاس <SortedList<TKey,TValue
- آشنایی با کلاس <SortedDictionary<TKey,TValue
- آشنایی با کلاس <SortedSet<T
- آشنایی با کلاس <Hashset<T
- آشنایی با کلاس <Stack<T
- آشنایی با کلاس <Queue<T
- آشنایی با کلاس <LinkedList<T
- آشنایی با Interfaceهای کالکشن ها
- آشنایی با <IEnumerator<T
- آشنایی با <IEnumerable<T
- آشنایی با <IList<T
- آشنایی با <IDictionary<T
- آشنایی با <ICollection<T
- کار با اینترفیس های IComparable و IComparer جهت مرتب سازی
بخش سی و چهارم: آشنایی با سایر ویژگی های سی شارپ
- کار با Extension Methodها
- کار با Local Functionها
- کار با Tupleها
- کار با String Interpolation
- کار با Expression Bodied
- آشنایی با Object Initializer
- آشنایی با Anonymous Types
- کار با اشاره گرها و کدهای unsafe
- کار با کلمه کلیدی stackalloc
بخش سی و پنجم: LINQ
- LINQ چیست؟
- LINQ to Objects چیست؟
- LINQ to DataSet چیست؟
- LINQ to Entities چیست؟
- LINQ to XML چیست؟
- LINQ to SQL چیست؟
- آشنایی با Type Inference
- آشنایی با Lambda Expressions
- آشنایی با انواع روش های نوشتن پرس و جو در LINQ
- آشنایی با روش Query Expressions یا Query Syntax
- آشنایی با روش Method Expressions یا Method Syntax
- مقایسه Query Syntax و Method Syntax و بررسی مزایا و معایب هر یک
- آشنایی با نحوه تعریف عبارات Lambda و شیوه های مختلف استفاده از آن ها
- آشنایی با عملگرها در LINQ
- آشنایی با عملگرهای شرطی
- Where
- OfType
- آشنایی با عملگرهای بازتابی
- Select
- SelectMany
- آشنایی با عملگرهای تبدیل
- Cast
- ToArray
- ToList
- ToDictionary
- آشنایی با عملگرهای مرتب سازی
- OrderBy
- OrderByDescending
- Reverse
- آشنایی با عملگرهای دسته بندی
- GroupBy
- آشنایی با عملگرهای تجمیع
- Count
- LongCount
- Sum
- Min
- Max
- Average
- Aggregate
- آشنایی با عملگرهای کمیت سنج
- All
- Any
- Contains
- SequenceEqual
- آشنایی با عملگرهای اتصال
- GroupJoin
- Join
- آشنایی با عملگرهای الحاقی
- Concat
- آشنایی با عملگرهای عنصری
- First
- FirstOrDefault
- Last
- LastOrDefault
- Single
- SingleOrDefault
- ElementAt
- ElementAtOrDefault
- DefaultIfEmpty
- آشنایی با عملگرهای تولیدی
- Empty
- Range
- Repeat
- آشنایی با عملگرهای قسمت بندی
- Skip
- SkipWhile
- Take
- TakeWhile
- آشنایی با عملگرهای مجموعه ای
- Distinct
- Except
- Intersect
- Union
- Zip
- آشنایی با متدهای FindAll و ForEach
بخش سی و ششم: کار با بانک اطلاعاتی
- آشنایی با مفهوم بانک اطلاعاتی
- آشنایی با جدول و فیلد
- آشنایی با مفاهیم Insert, Update, Delete, Select
- معرفی تکنولوژی های ارتباط با پایگاه داده(Ado.net, LINQ to SQL ,Entity Framework)
- آشنایی با SQL Server
- ایجاد پایگاه داده
- ایجاد جدول
- آشنایی با Ado.net
- پیاده سازی یک پروژه با تکنولوژی Ado.net
- آشنایی با کلاس های Ado.net و متدهای آنها
- آشنایی با SqlConnection
- آشنایی با SqlCommand
- آشنایی با SqlDataAdapter
- آشنایی با SqlDataReader
- آشنایی با SqlParameter
- آشنایی با DataSet
- آشنایی با DataTable
- آشنایی با Connection String و قسمت های مختلف آن
- آشنایی با حملات SQL Injection
- نوشتن یک فرم ورود به سیستم و نحوه هک فرم Login به وسیله SQL Injection
- بررسی نحوه جلوگیری از حملات SQL Injection با استفاده از پارامتر
- آیا باید بعد از انجام هر عملیات اتصال یا Connection باز شده را ببندیم؟
- بررسی نحوه بستن اتصال به صورت خودکار با بلوک using و finally
- آشنایی با کلاس SqlConnectionStringBuilder برای ایجاد و تغییر Connection String
- آشنای با فایل App.config
- نحوه اضافه کردن فایل App.config به پروژه در صورت نبودن آن
- آشنایی با کلاس ConfigurationManager برای دسترسی به تنظیمات فایل App.config
- بررسی نحوه تغییر کانکشن استرینگ در فایل App.config
- اتصال به دیتابیس به روش ویزاردی و انجام چهار عمل اصلی
- آشنایی با LINQ to SQL
- پیاده سازی یک پروژه با تکنولوژی LINQ to SQL
- آشنایی با Entity Framework و انواع مدل های آن
- پیاده سازی یک پروژه با تکنولوژی Entity Framework
بخش سی و هفتم: چندنخی در سی شارپ
- آشنایی با Threadها
- بررسی کاربرد Threadها
- ایجاد یک Thread
بخش سی و هشتم: مطالب متفرقه
- ارسال مقادیر بین فرم ها
- تغییر خصوصیات یک فرم از طریق فرمی دیگر(روش دوم)
- کار با بخش Resources
- کار با بخش Settings
- ذخیره و بازیابی محل و اندازه فرم
- دریافت مختصات ماوس در داخل و خارج فرم
- تغییر خصوصیات کنترل ها در زمان اجرا
- ایجاد کنترل در زمان اجرا و دادن رویداد به آنها
- تغییر اندازه کنترل ها در زمان اجرا
- جابه جا کردن کنترل ها در زمان اجرا
- اعمال محمدودیت های مختلف برای تکست باکس(وارد کردن فقط عدد، دریافت فقط حروف فارسی، دریافت فقط حروف انگلیسی)
- تغییر زبان سيستم از فارسی به انگليسی و بالعکس به صورت اتوماتیک
- جلوگیری از بسته شدن برنامه یا فرم
- لود فونت های نصب شده روی سیستم و استفاده از آنها
- بدست آوردن IP سیستم(محلی و عمومی)
- بررسی اتصال اینترنت(بدون استفاده از توابع API)
- ایجاد InputBox در سی شارپ
- آشنایی با NuGet
- آشنایی با آیکن های IntelliSense در Visual Studio
- آشنایی با region#
- افزودن و حذف کردن یک برنامه به Startup ویندوز
- Copy و Cut کردن فایل ها و پوشه ها از یک مسیر و Paste کردن در مسیر دیگر با کلیک راست
- تغییر شکل فرم ها
- اجرا کردن برنامه با دسترسی Admin(هنگام اجرا)
- کار با فرم های MDI
- اعمال تنظیمات مناسب جهت به هم نخوردن ظاهر برنامه در رزولوشن های مختلف
- آشنایی با خاصیت های Dock و Anchor
- آشنایی با کنترل های FlowLayoutPanel و TableLayoutPanel
- سخن پایانی
ابزارها و تکنولوژی های مورد استفاده:
- Visual Studio
محتوای محصول دریافتی:
- آموزش ویدیویی
نحوه ارائه محصول دریافتی:
- محافظت شده(مشاهده در پلیر اختصاصی)
- قابل مشاهده حداکثر در یک دستگاه(کامپیوتر یا موبایل اندرویدی)
نکته: تدریس این دوره به گونه ای است که برای همه افراد مناسب است. یعنی اگر شما تا به حال برنامه نویسی انجام نداده اید و حتی نمی دانید برنامه جیست، این دوره مناسب شما خواهد بود. چون در اینجا ما از مفاهیم پایه شروع خواهیم کرد. همینطور اگر شما با برنامه نویسی آشنا هستید و برنامه نویسی هم انجام داده اید(با زبان سی شارپ یا هر زبان دیگری) ولی یک سری از موارد را به درستی یاد نگرفته اید و قصد دارید کامل آنها را فرا بگیرید، باز هم این دوره مناسب شما خواهد بود.
نکته۲: اگر شما قصد یادگیری برنامه نویسی را دارید ولی فعلا زبان خاصی را انتخاب نکرده اید، این دوره برای شما نیز مناسب خواهد بود. زیرا همانطور که گفتیم ما در این دوره از مفاهیم پایه شروع کرده ایم و شما با هر زبان دیگری بخواهید کار کنید، باید این موارد را یاد بگیرید. همچنین حتی اگر در آینده قصد سوئیچ به زبان دیگری را داشته باشید، چون با مفاهیم اصلی و پایه برنامه نوسی آشنا شده اید و همینطور کار با یک زبان برنامه نوسی را یاد گرفته اید، خیلی راحت تر می توانید یک زبان دیگر را یاد بگیرید.
نکته۳: این دوره یکی از بهترین و کاملترین دوره های آموزش سی شارپ در دنیا می باشد و با مطالعه سرفصل های دوره و مقایسه آن با دیگر دوره ها و مطالب آموزشی، پی به این موضوع خواهید برد.
مشاهده دموی اول آموزش در آپارات
مشاهده دموی دوم آموزش در آپارات