میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!

سی شارپ

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

C# یک زبان کارامد، (زبانی که از رخداد خطاهای مربوط به نوع داده ای جلوگیری می کند) type-safe و شی گرا است که برای توسعه دهنده این امکان را فراهم می آورد تا اپلیکیشن های قدرتمند با سطح ایمنی بالا که در بستر کاری Net Framework. قابل اجرا می باشند را توسعه دهند.


مقدمه C#
در اواخر دهه ۱۹۹۰ که مایکروسافت و شرکت Sun Microsystems – مالک Java – در دنیای نرم افزار رقابت سرسختانه‌ای داشتند، مایکروسافت تصمیم گرفت یک زبان برنامه نویسی جدید توسعه دهد. شاید حتی برای خارجی‌ها هم عدو شود سبب خیر اگر خدا خواهد. در ابتدا C# از لحاظ ساختاری خیلی به Java و بیشتر از آن به C++ نزدیک بود اما رفته رفته و با توسعه این زبان برنامه نویسی جدید، تفاوت‌ها بیشتر و بیشتر شدند.
در دنیای زبان‌های برنامه نویسی، اصطلاحی وجود دارد به نام زبان‌های خانواده C؛ دلیل این نام‌گذاری، شباهت ظاهری (Syntax) زبان‌های عضو این خانواده به زبان C است. خیلی از زبان‌های برنامه نویسی مشهور این روزها مثل C، C++، Objective-C، PHP، C#، Java و حتی زبان بسیار جدید Swift عضو این خانواده هستند. بنابراین به نظر می‌رسد اگر یکی از این زبان‌ها را بلد باشید، کارتان برای یادگیری دیگری آسان‌تر خواهد بود.

با C# چه نرم‌افزارهایی را می‌توانم توسعه دهم؟
مایکروسافت با خرید شرکتی به نام Xamarin قدمی بزرگ در مسیر رشد هر چه بیشتر استفاده از C# برداشت. Xamarin امکانی را فراهم کرده است که به سادگی می‌توان به کمک زبان C# برای دستگاه‌های اندرویدی و iOS اپلیکیشن تولید کرد. اگر کسی به شما گفت که هر چه باشد، اپ‌های زامارین مثل اپ‌هایی که با زبان اصلی آن پلتفرم ایجاد شده‌اند نمی‌شود، با خیال راحت به او بگویید که اشتباه می‌کند. اپ‌های تولید شده به کمک C# و زامارین می‌توانند دقیقا همان کارایی و زیبایی اپ‌های به اصطلاح Native برای اندروید یا iOS را داشته باشند.
برای محصولتان نیاز به یک وب‌سایت دارید؟ C# به کمک تکنولوژی ASP.Net این امکان را فراهم می‌کند که وب‌سایتی بسیار قدرتمند و در عین حال زیبا ایجاد کنید.
حتی می‌توان به کمک C# نرم‌افزارهای تحت ویندوز و macOS تولید کرد. راستش در چند نسخه اخیر ویندوز، مخصوصا Windows 10، بخش زیادی از خود این سیستم عامل به وسیله زبان C# نوشته شده است.

C# یک زبان ساده و قدرتمند است. به کمک C# می‌توان برای پلتفرم‌های مختلف، از موبایل گرفته تا سرور‌ها، کد نوشت. C# شرکت مایکروسافت را پشت سر خود دارد، که این یعنی قرار نیست به این زودی از رده خارج شود. تعداد زیادی برنامه‌نویس در سراسر جهان با C# کد می‌نویسند. همین موضوع باعث می‌شود تقریبا اکثر اوقات به سادگی راه حل مشکلات خود را در اینترنت پیدا کنید، چون احتمالا حداقل یک نفر پیش از شما با آن مشکل روبرو شده است.

.Net چه ارتباطی با C# دارد؟
مدل ASP.NET Component بلوک های مختلفی از صفحات ASP.NET را فراهم می کند. اساسا این یک Object-Model است که موارد زیر را توصیف می کند:
#C یک زبان برنامه نویسی چند مدلی است که شامل دستوری ، تابعی، عمومی، شیء گرا و جزء گرا است . این زبان توسط شرکت مایکروسافت و از دل فریم ورک .NET مایکروسافت خلق و پرورش یافت و بعد ها توانست استاندارد های ISO و Ecma را دریافت کند و به‌عنوان یک زبان استاندارد تایید شود.
در عین حال زبان C# ، زبان برگزیده مایکروسافت برای ایجاد سیستم عامل ویندوز و ویندوزفون برای سیستم عامل موبایل‌هایی همچون HTC ، مایکروسافت و نوکیا می باشد. این زبان نیز مانند زبان جاوا برای پروژه‌های اقتصادی و بزرگ، انتخاب بسیار خوبی است. گر چه تعداد برنامه نویسانی که به این زبان برنامه نویسی می‌کنند، به پای برنامه نویسان جاوا نمی‌رسد، ولی به لطف پشتیبانی مایکروسافت، این زبان یکی از مدعیان قوی در بین زبان‌های برنامه نویسی است .

چرا سی شارپ؟

  • استفاده گسترده
  • چند سکویی بودن (Cross Platform)
  • بازار کار عالی در ایران
  • بازار کار جهانی خوب
  • کدنویسی آسان در ویژوال استودیو قدرتمندترین IDE موجود برای برنامه نویسی
  • با یادگیری زبان برنامه نویسی سی شارپ، دیگر نیاز به زبان های دیگر برای برنامه نویسی در پلتفرم های مختلف نخواهید داشت.
  • یک زبان برنامه نویسی مدرن و همه منظوره است.
  • کاملا شی گراست (object oriented)
  • جزء گراست (componentoriented)
  • به راحتی فرا گرفته می شود و یادگیری آن آسان است.
  • زبان ساخت یافته است (برنامه ها را می توان به اجزا و زیر برنامه های کوچکتر تقسیم کرد)
  • برای تولید برنامه های کارآمد قابل استفاده است.
  • قابل استفاده و کامپایل بر روی انواع کامپیوتر است.
  • بخشی از دات نت فریم ورک است.

ویژگی‌های مهم سی شارپ

  • شرطهای بولین
  • زباله روبی خودکار
  • کتابخانه استاندارد
  • قابلیت نسخه‌بندی اسمبلی‌ها
  • خصوصیت ها و رویدادها (Properties & events)
  • دلیگیت و مدیریت رویدادها (Delegates and Events Management)
  • استفاده آسان برای جنریک ( برای مقادیر با نوع داده متفاوت)
  • ایندکس‌ها
  • شرط‌های کامپایلری
  • برنامه نویسی ساده برای مالتی ترد( Multi Threads)
  • LINQ و Lambada
  • یکپارچه با ویندوز

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی
  • آموزش مباحث مقدماتی سی شارپ C#
    • آموزش C#-معرفی آموزش زبان C#
    • آموزش C#-معرفی ابزار و آموزش کار با Visual C# Express
    • آموزش ساخت اولین برنامه C# با Hello word
    • توضیح آموزش ساخت برنامه Hello World در C#
    • آموزش انواع داده ای Data Types در C#
    • آموزش تعریف و مقداردهی متغیرها Variable در C#
    • آموزش ساختار شرطی if در C#
    • آموزش کار با دستور Switch در C#
    • آموزش کار با ساختارهای تکرار حلقه Loops در C#
    • آموزش کار با توابع Function در زبان C#
    • آموزش کار با پارامترهای تابع در زبان C#
    • آموزش کار با آرایه ها Arrays در زبان C#
    • آموزش Anonymous Type و متغیرهای از نوع نامشخص در C#
  • آموزش کار با کلاس ها در C#
    • آموزش C# - آموزش کار با کلاس ها در C#
    • آموزش ویژگی های کلاس (C# Properties)
    • آموزش Constructor و destructor در زبان C#
    • آموزش کار با Method overloading در C#
    • تعیین سطح دسترسی (access modifier) در C#
    • اعضای ایستا یا استاتیک (Static members) در C#
    • وراثت یا ارث بری (Inhertance) در C#
    • کلاس انتزاعی (Abstract Class) در C#
    • مطالعه کامل تر کلاس های پایه Abstract Class در C#
    • آموزش کار با Interface ها در C#
  • ترکیبات کلاس ها در سی شارپ
    • کلاس های تو در تو (nested class) در سی شارپ
    • استفاده از کلاس به عنوان فیلد
    • کلاس به عنوان یک گونه داده ای (class as a data type)
    • خروجی متد یا پارامتر ارسالی از نوع کلاس (class as parameter type)
    • یک عضو درونی کلاس از گونه داده ای خودش (Class as a Member of itself)
  • استاتیک در سی شارپ
    • متغیرهای استاتیک (Static Variables) در سی شارپ
    • متدهای استاتیک (static method) در سی شارپ
    • کلاس استاتیک (static class) در سی شارپ
    • محدوده (scope) و طول عمر (lifetime) متغیرها در سی شارپ
    • اعضای
  • کتابخانه ها در سی شارپ
    • کتابخانه های سفارشی در سی شارپ (C# Library)
    • ایجاد کتابخانه در سی شارپ (Create C# Library)
    • تغییر پروژه به کتابخانه در سی شارپ (Change Visual Studio Project)
    • ساخت پروژه از نوع کتابخانه در سی شارپ (Visual Studio Library Project)
    • استفاده از یک کتابخانه در سی شارپ (Using C# Library)
    • کتابخانه های داخلی در سی شارپ (C# built in Library)
    • مثالی از کاربرد کتابخانه در سی شارپ (C# Library example)
    • ارتباط با دیگر پلتفرم ها در سی شارپ (C# Interoperability)
  • فضاهای نامی یا Namespace در سی شارپ
    • Namespace در سی شارپ (C# namespace)
    • استفاده از Namespaceها (using C# namespace) - بخش اول
    • استفاده از Namespaceها (using C# namespace) - بخش دوم
    • تقسیم بندی کلاس های هم نام در سی شارپ
    • استفاده از نام مستعار (namespace alias directive)
    • فضای نام System در سی شارپ (system namespace)
  • آموزش مباحث پیشرفته در C#
    • آموزش کار با Enumeration در زبان C#
    • آموزش مدیریت خطا Exception Handling در C#
    • آموزش کار با Structs در زبان C#
  • آموزش کار با XML در C#
    • آموزش کار با فایل XML در زبان C#
    • آموزش خواندن فایل XML با کلاس XMLReader در C#
    • آموزش خواندن فایل XML با کلاس XmlDocument در C#
    • آموزش خواندن فایل XML با کلاس XmlNodes در C#
    • آموزش کار XPath با کلاس XmlDocument در C#
    • آموزش نوشتن XML با کلاس XmlWriter در C#
    • آموزش نوشتن فایل XML با کلاس XmlDocument در C#
  • امکانات جدید در C# 3.0
    • آموزش امکانات جدید در C# 3.0
    • آموزش خواص اتوماتیک Automatic Properties در C#
    • آموزش مقداردهی اولیه اشیاء object initializer در C#
    • آموزش مقداردهی مجموعه ها Collection در زبان C#
    • آموزش متدهای توسعه یافته Extension Methods در C#
  • آموزش کار با فایل ها در C#
    • آموزش خواندن و نوشتن فایل ها در C#
    • آموزش کار با فایل ها و پوشه ها در زبان C#
    • آموزش استخراج اطلاعات فایل و پوشه ها در زبان C#
  • آموزش Reflection در زبان C#
    • آموزش مفهوم Reflection در زبان C#
    • آموزش right type در Reflection زبان C#
    • آموزش نمونه سازی کلاس ها در زبان C#
  • مباحث پیشرفته C#
    • آموزش Attribute در C#
    • آشنایی با Collection‌ ها در C#
    • Reflection در C# چیست
    • مبحث Delegate در C#
    • متدهای anonymous در C#
    • Event ها سی شارپی
    • Propertis در CSharp
    • Indexer در C#
    • Generic ها و ساخت آن در C#
    • کدهای نا امن(Unsafe Code) مربوط به C#
    • Multi Treading در C#

برای یادگیری C# چه چیز را باید از قبل بدانیم !
قبل از اینکه مطالعه ی آموزش C# (سی شارپ) را شروع کنید، شما باید دانش پایه ای(حداقلی) از موارد زیر را داشته باشید

  1. مایکروسافت اس‌کیوال سرور - (Microsoft SQL Server)
  2. لینکیو - (LINQ)
  3. انتیتی فریم ورک - (Entity Framework)

موردی یافت نشد