پرش به محتویات

محیط و مقدمات پیاده‌سازی

چارچوب دات نت

  • چارچوب دات نت:
  • یک چارچوب نرم‌افزاری برای توسعه برنامه‌های تحت وب، ویندوز، وب سرویس‌ها و کنسول.
  • شامل کتابخانه‌های کلاس گسترده و پشتیبانی از بیش از 20 زبان برنامه‌نویسی.
  • توسط مایکروسافت در سال 2000 معرفی شد.
  • آخرین نسخه Visual Studio 2015 از توسعه برنامه‌ها برای ویندوز، لینوکس، Mac، iOS، اندروید و کنسول‌های بازی پشتیبانی می‌کند.

اجزای چارچوب دات نت

  1. CLR (Common Language Runtime):
  2. هسته مرکزی دات نت.
  3. مدیریت اجرای برنامه‌ها، حافظه و نخ‌ها.
  4. عملکردی مشابه ماشین مجازی جاوا.
  5. FCL (Framework Class Libraries):
  6. مجموعه‌ای عظیم از کلاس‌های آماده.
  7. CLS (Common Language Specification):
  8. ویژگی‌های عمومی مشترک بین زبان‌های دات نت.
  9. MSIL (Microsoft Intermediate Language):
  10. تبدیل کد زبان‌های مختلف به زبان سطح میانی.
  11. CTS (Common Type System):
  12. هماهنگی بین زبان‌های مختلف دات نت.

سبک‌های برنامه‌نویسی

  1. برنامه‌نویسی ساخت‌یافته:
  2. رویکرد خطی و مرحله‌ای.
  3. تقسیم برنامه به زیربرنامه‌ها.
  4. زبان‌های نمونه: C, Pascal.
  5. برنامه‌نویسی شی‌گرا:
  6. مبتنی بر اشیاء و ارتباطات بین آنها.
  7. اصول: کپسوله‌سازی، وراثت، چندریختی، انتزاع.

مفاهیم اولیه

  • فضای نام (Namespace):
  • ساختار سازمانی برای دسته‌بندی کلاس‌ها.
  • کلاس (Class):
  • واحد برنامه‌نویسی در C#.
  • شامل کلاس‌های آماده (FCL) و کلاس‌های نوشته‌شده توسط برنامه‌نویس.
  • شی (Object):
  • نمونه‌ای از یک کلاس.
  • متد (Method):
  • عملیاتی که بر روی داده‌ها انجام می‌شود.
  • صفت (Attribute):
  • ویژگی‌های مربوط به هر کلاس.

زبان برنامه‌نویسی C

  • ویژگی‌ها:
  • زبان سطح بالا و شی‌گرا.
  • ترکیبی از قدرت C++ و سادگی Visual Basic.
  • بر پایه C++ و با الهام از جاوا ایجاد شده.
  • نحوه اجرای برنامه:
  • کامپایل کد C# به MSIL.
  • تبدیل MSIL به کد محلی توسط JIT کامپایلر.
  • اجرای کد توسط CLR.

قواعد نگارش برنامه

  • پایان دستورات با نقطه‌ویرگول (;).
  • حساس به حروف بزرگ و کوچک.
  • توضیحات با // برای یک خط و /* ... */ برای چند خط.

واژه‌های کلیدی C

  • کلمات رزرو شده مانند abstract, class, if, return و غیره.

فضای نام

  • واحد برنامه‌نویسی در C#.
  • کلاس‌ها به دو دسته تقسیم می‌شوند:
  • کلاس‌های آماده (FCL).
  • کلاس‌های نوشته‌شده توسط برنامه‌نویس.
  • هر فضای نام شامل چندین کلاس مرتبط است.

نحوه استفاده از فضای نام

  1. استفاده مستقیم: csharp int n = System.Convert.ToInt32(x);
  2. استفاده از using: csharp using System; int n = Convert.ToInt32(x);

متدها

  • دسته‌بندی:
  • متدهای آماده (از قبل نوشته‌شده).
  • متدهای نوشته‌شده توسط برنامه‌نویس.
  • فراخوانی متدها:
  • متد ایستا: ClassName.MethodName(parameters);
  • متد غیر ایستا: ClassName obj = new ClassName(); obj.MethodName(parameters);

قالب‌های پروژه پرکاربرد

  1. Console Application:
  2. برنامه‌های متنی تحت کنسول.
  3. Windows Form Application:
  4. برنامه‌های ویندوزی با عناصر بصری.
  5. ASP.NET Web Application:
  6. برنامه‌های تحت وب.
  7. Windows Forms Control Library:
  8. ایجاد کنترل‌های سفارشی.

اجزای اصلی صفحه طراحی ویژوال

  1. فرم برنامه:
  2. نمای ظاهری برنامه و کنترل‌ها.
  3. پنجره مرورگر راه‌حل (Solution Explorer):
  4. مدیریت پروژه‌ها و فایل‌ها.
  5. پنجره خواص (Properties):
  6. تنظیم خواص فرم و کنترل‌ها.
  7. جعبه ابزار (Toolbox):
  8. عناصر بصری برای طراحی فرم.

ابزارهای پرکاربرد

  • کنترل‌ها:
  • Button, Label, TextBox, CheckBox, ComboBox, ListBox, و غیره.

پنجره خواص

  • تنظیم خواص فرم و کنترل‌ها:
  • نام (Name), رنگ (BackColor), فونت (Font), متن (Text), و غیره.

رویدادها

  • تعریف:
  • هر اتفاقی که در محیط ویندوز رخ می‌دهد (مانند کلیک یا باز کردن پنجره).
  • مدیریت رویدادها:
  • نوشتن کد برای پاسخ به رویدادها.

پاسخ‌های سوالات (نسبت به دومین PDF)


۱. چارچوب دات نت چیست و چه اجزایی دارد؟

  • پاسخ:
    چارچوب دات نت (‎.NET Framework) یک پلتفرم نرم‌افزاری است که توسط مایکروسافت برای توسعه و اجرای برنامه‌های تحت ویندوز، وب و موبایل ارائه شده است.
    اجزای اصلی:
  • CLR (Common Language Runtime): مسئول اجرای کد و مدیریت حافظه.
  • FCL (Framework Class Library): مجموعه‌ای از کلاس‌ها و کتابخانه‌های آماده.
  • CLS (Common Language Specification): استانداردهایی برای سازگاری بین زبان‌های مختلف.
  • MSIL (Microsoft Intermediate Language): کد میانی که توسط کامپایلر تولید می‌شود.
  • CTS (Common Type System): سیستم نوع‌دهی مشترک بین زبان‌های مختلف.

۲. تفاوت بین برنامه‌نویسی ساخت‌یافته و شی‌گرا چیست؟

  • پاسخ:
  • برنامه‌نویسی ساخت‌یافته: رویکرد خطی و مرحله‌ای، تقسیم برنامه به زیربرنامه‌ها، مدیریت آسان خطاها.
  • برنامه‌نویسی شی‌گرا: مبتنی بر اشیاء و ارتباطات بین آنها، استفاده از مفاهیمی مانند وراثت، کپسوله‌سازی و چندریختی، قابلیت استفاده مجدد کد.

۳. مفاهیم اولیه شی‌گرایی (کلاس، شی، متد، صفت) را توضیح دهید.

  • پاسخ:
  • کلاس (Class): طرح کلی برای ایجاد اشیاء، شامل صفات و متدها.
  • شی (Object): نمونه‌ای از یک کلاس.
  • متد (Method): عملیاتی که توسط کلاس انجام می‌شود.
  • صفت (Attribute): ویژگی‌های مربوط به کلاس یا شی.

۴. نحوه اجرای برنامه‌های C# در چارچوب دات نت چگونه است؟

  • پاسخ:
  • کد C# توسط کامپایلر به MSIL (کد میانی) تبدیل می‌شود.
  • MSIL توسط JIT (Just-In-Time) کامپایلر به کد محلی سیستم عامل تبدیل می‌شود.
  • کد محلی توسط CLR اجرا می‌شود.

۵. فضای نام (Namespace) در C# چه کاربردی دارد؟

  • پاسخ:
    فضای نام برای سازماندهی و دسته‌بندی کلاس‌ها و جلوگیری از تداخل نام‌ها استفاده می‌شود.
    مثال: csharp namespace MyApp { class Program { static void Main() { Console.WriteLine("Hello World"); } } }

۶. متدها در C# چگونه دسته‌بندی می‌شوند و چگونه فراخوانی می‌شوند؟

  • پاسخ:
  • متدهای ایستا: بدون نیاز به ایجاد شی فراخوانی می‌شوند.
    مثال: ClassName.MethodName();
  • متدهای غیر ایستا: نیاز به ایجاد شی دارند.
    مثال: ClassName obj = new ClassName(); obj.MethodName();

۷. قالب‌های پروژه پرکاربرد در Visual Studio کدامند؟

  • پاسخ:
  • Console Application: برنامه‌های متنی تحت کنسول.
  • Windows Forms Application: برنامه‌های ویندوزی با رابط گرافیکی.
  • ASP.NET Web Application: برنامه‌های تحت وب.
  • Class Library: کتابخانه‌های قابل استفاده در پروژه‌های دیگر.

۸. اجزای اصلی صفحه طراحی ویژوال در Visual Studio چیست؟

  • پاسخ:
  • فرم (Form): نمای ظاهری برنامه.
  • Solution Explorer: مدیریت پروژه‌ها و فایل‌ها.
  • Properties: تنظیم خواص فرم و کنترل‌ها.
  • Toolbox: عناصر بصری برای طراحی فرم.

۹. پنجره خواص (Properties) چه کاربردی دارد؟

  • پاسخ:
    پنجره Properties برای تنظیم خواص فرم و کنترل‌ها مانند رنگ، فونت، متن و غیره استفاده می‌شود.

۱۰. رویدادها در برنامه‌نویسی ویندوز فرم چگونه مدیریت می‌شوند؟

  • پاسخ:
    رویدادها با استفاده از متدهای event handler مدیریت می‌شوند.
    مثال: csharp private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Button Clicked"); }

۱۱. چگونه می‌توان از کنترل‌های پرکاربرد در طراحی فرم استفاده کرد؟

  • پاسخ:
    با کشیدن و رها کردن کنترل‌ها از Toolbox به فرم و تنظیم خواص آن‌ها.
    مثال:
  • Button: برای ایجاد دکمه.
  • TextBox: برای دریافت ورودی کاربر.
  • Label: برای نمایش متن.

۱۲. نحوه استفاده از فضای نام در C# را با مثال توضیح دهید.

  • پاسخ:
    با استفاده از using می‌توان به فضای نام دسترسی پیدا کرد.
    مثال: csharp using System; namespace MyApp { class Program { static void Main() { Console.WriteLine("Hello World"); } } }

۱۳. ویژگی‌های زبان برنامه‌نویسی C# چیست؟

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

۱۴. نقش CLR در چارچوب دات نت چیست؟

  • پاسخ:
    CLR (Common Language Runtime) مسئول اجرای کد، مدیریت حافظه، مدیریت نخ‌ها و ارائه خدمات دیگر به برنامه‌ها است.

۱۵. چگونه می‌توان یک برنامه کنسول ساده در C# ایجاد کرد؟

  • پاسخ:
  • در Visual Studio، یک پروژه جدید از نوع Console Application ایجاد کنید.
  • کد زیر را در فایل Program.cs بنویسید: csharp using System; namespace MyApp { class Program { static void Main() { Console.WriteLine("Hello World"); } } }
  • برنامه را اجرا کنید.