"تابستانِ شروع" رسید — تا ۹۰٪ تخفیف فقط تا ساعت ۲۳:۵۹ امشب جزئیات

سی‌شارپ (#C)

زبان سی‌شارپ یک زبان شیءگرا برای .NET است که در آموزش‌های لرن‌فایلز مهارت‌های لازم برای توسعه نرم‌افزارهای ویندوز، وب و موبایل را یاد می‌گیرید.


    آموزش نسخه گذاری نرم افزار رایگان

    آموزش نسخه گذاری نرم افزار

    در آموزش نسخه گذاری نرم افزار، اصول نسخه بندی و انواع نسخه‌های نرم افزار را یاد خواهید گرفت و نحوه نسخه گذاری پروژه‌ها به صورت اصولی را فرا خواهید گرفت و با مفاهیمی مانند Beta آشنا خواهید شد. این دوره را از دست ندهید.

    رایگان
    747 رای
    دوره آموزش ساخت ستاپ در #C رایگان

    دوره آموزش ساخت ستاپ در #C

    در دوره آموزش ساخت ستاپ در #C با چهار نرم افزار منتخب مانند InstallShield، Advanced Installer، Setup Factory و ویژوال استودیو آشنا خواهید شد. مزایا، معایب و روش کار هر کدام از این نرم افزارها را نیز یاد می‌گیرید.

    رایگان
    1190 رای
    ساخت فرم لاگین حرفه ای در #C رایگان

    ساخت فرم لاگین حرفه ای در #C

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

    رایگان
    1128 رای
    دوره آموزش گرافیک در سی شارپ رایگان

    دوره آموزش گرافیک در سی شارپ

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

    رایگان
    624 رای
    آموزش ساخت ربات تلگرام با سی شارپ

    آموزش ساخت ربات تلگرام با سی شارپ

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

    -65%
    699,000 تومان
    244,650 تومان
    559 رای
    دوره ساخت نرم افزار کتابخانه با #C رایگان

    دوره ساخت نرم افزار کتابخانه با #C

    در دوره ساخت نرم افزار کتابخانه با #C، تحلیل و ایجاد بانک اطلاعاتی، کار با Setting ها، شی گرایی، ارتباط با دیتابیس، جستجوی حرفه‌ای، کار با فایل، دیالوگ‌ها، وب کم، مدیریت خطا، تاریخ شمسی و هوشمند کردن TextBox را یاد می‌گیریم.

    رایگان
    656 رای
    ساخت Task‌ Scheduler با سی شارپ رایگان

    ساخت Task‌ Scheduler با سی شارپ

    در آموزش ساخت Task Scheduler با سی شارپ، برنامه نویسی سی شارپ را به صورت کاربردی فرا می‌گیریم و با مباحثی مانند اجرای برنامه در تاریخ و زمان مشخص، مدیریت برنامه‌های زمان‌بندی شده،کار با SQL و پشتیبان‌گیری آشنا خواهیم شد.

    رایگان
    606 رای
    آموزش امنیت در سی شارپ رایگان

    آموزش امنیت در سی شارپ

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

    رایگان
    882 رای
    آپدیت نرم افزار از طریق وب در سی شارپ رایگان

    آپدیت نرم افزار از طریق وب در سی شارپ

    در آموزش آپدیت نرم افزار از طریق وب در سی شارپ، به روزرسانی خودکار نرم‌افزار از طریق وب را یاد می‌گیریم. با این روش، بدون نیاز به دستور کاربر، نرم‌افزار به‌طور خودکار بروزرسانی می‌شود.

    رایگان
    827 رای
ایمیل خود را وارد کنید
و از آموزش های جدید این بخش با خبر شوید!

سی شارپ (C#) چیست؟

سی شارپ (C#) یه زبان برنامه نویسی سطح بالا و چند منظوره هست که از چندین پارادایم پشتیبانی میکنه. سی شارپ شامل تایپینگ استاتیک، تایپینگ قوی، محدوده بندی لغوی، برنامه نویسی دستوری، اعلانی، فانکشنال، جنریک، شی گرا (بر پایه کلاس) و کامپوننت گرا میشه.

تاریخچه سی شارپ (C#)

مخترعای اصلی زبان برنامه نویسی سی شارپ، آندرس هایلسبرگ، اسکات ویلتاموث و پیتر گلد از مایکروسافت بودن. این زبان برای اولین بار توی جولای 2000 به طور گسترده منتشر شد و بعدش توی سال 2002 توسط Ecma (استاندارد ECMA-334) و توی سال 2003 توسط ISO/IEC (استانداردهای ISO/IEC 23270 و 20619) به عنوان یه استاندارد بین المللی تایید شد.مایکروسافت، سی شارپ رو همراه با دات نت فریم ورک (.NET Framework) و مایکروسافت ویژوال استودیو معرفی کرد که جفتشون از لحاظ فنی نرم افزارهای بسته (Closed-source) بودن. اون موقع، مایکروسافت هیچ محصول متن بازی نداشت. چهار سال بعد، توی 2004، یه پروژه رایگان و متن باز به اسم مونو (Mono) شروع شد که یه کامپایلر و محیط اجرایی چند سکویی برای سی شارپ ارائه میداد. یه دهه بعد، مایکروسافت ویژوال استودیو کد (ویرایشگر کد)، Roslyn (کامپایلر) و پلتفرم یکپارچه دات نت رو منتشر کرد که همشون از سی شارپ پشتیبانی میکنن و به صورت رایگان، متن باز و چند سکویی ارائه شدن. مونو هم به مایکروسافت پیوست ولی توی دات نت ادغام نشد.تا ژانویه 2025، جدیدترین نسخه پایدار این زبان C# 13.0 هست که توی سال 2024 همراه با .NET 9.0 منتشر شده.

اهداف طراحی سی شارپ (C#)

استاندارد Ecma این اهداف طراحی رو برای سی شارپ فهرست کرده:
  • این زبان طراحی شده که یه زبان برنامه نویسی ساده، مدرن، چند منظوره و شی گرا باشه.
  • زبان و پیاده سازی هاش باید از اصول مهندسی نرم افزار مثل تایپینگ قوی، بررسی محدوده آرایه ها، شناسایی تلاش برای استفاده از متغیرهای مقداردهی نشده و جمع آوری زباله (Garbage Collection) به صورت خودکار پشتیبانی کنن. پایداری نرم افزار، دوام و بهره وری برنامه نویس از اهمیت بالایی برخورداره.
  • این زبان برای توسعه کامپوننت های نرم افزاری مناسب برای استقرار در محیط های توزیع شده در نظر گرفته شده.
  • قابل حمل بودن کد منبع و برنامه نویس ها، مخصوصا اونایی که قبلا با C و C++ آشنا هستن، خیلی مهمه.
  • پشتیبانی از بین المللی سازی یه فاکتور خیلی مهمه.
  • سی شارپ برای نوشتن اپلیکیشن ها هم در سیستم های میزبانی شده (Hosted) و هم در سیستم های تعبیه شده (Embedded) مناسبه، از سیستم های خیلی بزرگ با سیستم عامل های پیچیده گرفته تا سیستم های خیلی کوچیک با وظایف اختصاصی.
  • با اینکه اپلیکیشن های سی شارپ باید از نظر مصرف حافظه و توان پردازشی بهینه باشن، اما این زبان قرار نبوده از نظر عملکرد و اندازه مستقیما با C یا اسمبلی رقابت کنه.

نسخه های سی شارپ (C#)

توسعه متن استانداردهای سی شارپ )از نسخه C# 6 به بعد ( رویGitHub  انجام میشه.
  •  C# 7 برای تأیید به  Ecma ارسال شد و توی دسامبر 2023 مورد تأیید قرار گرفت.
  • تا ژانویه 2024، استانداردC# 8  هنوز در حال توسعه بوده و به زبان تأیید شده قبلی ارجاع داده میشه.

سینتکس

سینتکس اصلی زبان  C# شبیه به زبان های  C-Style مثل C، Objective-C،  C++ و Java هست. برخی از ویژگی های کلیدی سینتکس این زبان شامل موارد زیر میشه:
  • پایان هر دستور با سمی کالن (;) مشخص میشه.
  • آکولاد ({}) برای گروه بندی دستورات استفاده میشه. دستورات معمولا داخل متدها (توابع) قرار میگیرن، متدها داخل کلاس ها و کلاس ها داخل نام اسپیس ها گروه بندی میشن.
  • مقداردهی متغیرها با علامت = انجام میشه، اما برای مقایسه از == استفاده میشه.
  • براکت مربعی ([]) برای کار با آرایه ها استفاده میشه. هم برای تعریف آرایه ها و هم برای دریافت مقدار از یک ایندکس مشخص در آرایه.
  • کلمات کلیدی class، int  وvoid  بیشتر اوقات در برنامه نویسی C-Style برای تعریف توابع اصلی برنامه استفاده میشن.

ویژگی های متمایز (#C)

برخی از ویژگی های قابل توجه C# که اون رو از C، C++ و Java متمایز میکنن شامل موارد زیر هستن:

قابلیت حمل (Portability) در (#C)

C# به طور طراحی شده، زبانیه که بیشترین تطابق رو با Common Language Infrastructure (CLI) داره. اکثر انواع داده ذاتی اون با نوع های مقدار (Value-types) که توی فریم ورک CLI پیاده سازی شدن، مطابقت دارن.با این حال، مشخصات زبان C# الزامات خاصی برای نحوه تولید کد توسط کامپایلر تعیین نکرده؛ یعنی، توی استاندارد زبان ذکر نشده که **یک کامپایلر C# حتما باید کد رو برای Common Language Runtime (CLR) هدف گذاری کنه، یا Common Intermediate Language (CIL)  تولید کنه، یا یه فرمت خاص دیگه رو خروجی بده.برخی از کامپایلرهای C# میتونن مثل کامپایلرهای سنتی زبان های Objective-C، C، C++،Assembly  و Fortran  کد ماشین تولید کنن.

تایپینگ در (#C)

C#  از تایپینگ قوی و اعلان متغیرهای به‌طور ضمنی تایپ‌شده با استفاده از کلیدواژه var پشتیبانی میکنه و همچنین آرایه‌های به‌طور ضمنی تایپ‌شده رو میشه با استفاده از new[] و مقداردهی اولیه مجموعه (Collection Initializer) تعریف کرد. سیستم تایپ در C# به دو دسته تقسیم میشه. نوع های مقدار (Value Types) که شامل انواع عددی داخلی و ساختارهای (Structs) تعریف‌شده توسط کاربر میشن و وقتی به عنوان پارامتر استفاده بشن، به‌صورت کپی (By Value) انتقال پیدا میکنن. نوع های ارجاعی (Reference Types) که شامل آرایه‌ها، نمونه‌های کلاس (Objects) و رشته‌ها (Strings) میشن و در این حالت، فقط یک اشاره‌گر (Reference) به شیء مربوطه منتقل میشه.رشته‌ها (Strings) رفتار خاصی دارن، چون با اینکه نوع ارجاعی هستن، اما به دلیل تغییرناپذیر بودن (Immutable بودن) و نحوه عملکرد عملگر مساوی (==)، مثل نوع های مقداری رفتار میکنن. به همین دلیل میشه اون ها رو به عنوان case label در دستورات switch استفاده کرد.در مواقع ضروری، نوع های مقداری به‌صورت خودکار باکس (Boxed) میشن. Boxing فرآیند تبدیل یک مقدار نوع مقداری به یک شیء از نوع object هست که باعث انتقال اون به Heap میشه.

متدها و توابع در (#C)

توی C#، متد یک عضو از کلاس هست که میشه اون رو به عنوان یک تابع (دنباله‌ای از دستورات) فراخوانی کرد، بر خلاف فیلدها که فقط قابلیت نگهداری مقدار رو دارن (یعنی متغیرهای کلاس یا نمونه). مثل زبان های دیگه‌ای که سینتکس مشابه دارن، مثل C++ و ANSI C، امضای یک متد شامل بخش‌های مشخصی به ترتیب زیر هست: هر کلیدواژه‌ی دسترسی اختیاری (مثل private)، مشخص کردن صریح نوع بازگشتی (مثل int، یا کلیدواژه void اگر متد مقداری برنگردونه)، نام متد، و در نهایت یک توالی داخل پرانتز از مشخصات پارامترها که با کاما از هم جدا شدن. هر پارامتر شامل نوع اون، نام رسمی و به‌صورت اختیاری مقدار پیش‌فرض هست که در صورتی که مقداردهی نشده باشه، استفاده میشه.

کمپین ایران

تخفیف ویژه لرن باکس ها