Skip to content

1. مقدمه

PDF برای این سند در |ICI| موجود است.

مثال‌های این سند در |ICI| موجود است.

سی‌شارپ (C#) یک زبان نسبتاً جدید است. این زبان از سال ۲۰۰۰ به بعد در نسخه‌های بتای متوالی در دسترس بود و سرانجام در فوریه ۲۰۰۲ به همراه پلتفرم .NET 1.0 مایکروسافت، که به آن پیوند خورده است، به طور رسمی منتشر شد. C# تنها می‌تواند در این محیط اجرایی اجرا شود. این محیط مجموعه‌ای بسیار گسترده از کلاس‌ها را در اختیار برنامه‌های در حال اجرا قرار می‌دهد. به طور تقریبی می‌توان گفت که پلتفرم .NET یک محیط اجرایی مشابه ماشین مجازی جاوا است. با این حال، دو تفاوت قابل توجه وجود دارد:

  • جاوا از زمان پیدایش بر روی سیستم‌عامل‌های مختلفی (ویندوز، یونیکس، مکینتاش) اجرا شده است. در سال ۲۰۰۲، پلتفرم .NET تنها بر روی ماشین‌های ویندوزی اجرا می‌شد. طی چند سال گذشته، پروژه Mono [http://www.mono-project.com] امکان استفاده از پلتفرم .NET را روی سیستم‌عامل‌هایی مانند یونیکس و لینوکس فراهم کرده است. نسخهٔ کنونی مونو (فوریهٔ ۲۰۰۸) از .NET نسخهٔ ۱.۱ و بخش‌هایی از .NET نسخهٔ ۲.۰ پشتیبانی می‌کند.
  • پلتفرم .NET امکان اجرای برنامه‌های نوشته شده به زبان‌های مختلف را فراهم می‌کند. تنها شرط این است که کامپایلر این زبان‌ها قادر به تولید کد IL (زبان میانی) باشد، که توسط ماشین مجازی .NET اجرا می‌شود. تمام کلاس‌های .NET در دسترس زبان‌های سازگار با .NET هستند، که تا حدی تفاوت‌های بین زبان‌ها را مبهم می‌کند، به این دلیل که برنامه‌ها از این کلاس‌ها به طور گسترده استفاده می‌کنند. انتخاب یک زبان .NET به جای آنکه به عملکرد بستگی داشته باشد، به یک مسئله سلیقه‌ای شخصی تبدیل می‌شود.

در سال ۲۰۰۲، C# از پلتفرم .NET 1.0 استفاده می‌کرد. در آن زمان، C# تا حد زیادی یک «کپی» از جاوا بود و .NET کتابخانه‌ای از کلاس‌ها بود که شباهت زیادی به کتابخانه پلتفرم توسعه جاوا داشت. هنگام یادگیری این زبان، می‌توانست بدون احساس غریبگی از محیط C# به محیط Java تغییر داد. حتی ابزارهایی برای تبدیل کد منبع از یک زبان به زبان دیگر در دسترس بود. از آن زمان، اوضاع تغییر کرده است. اکنون هر زبان و هر پلتفرم توسعه‌ای ویژگی‌های خاص خود را دارد. انتقال مهارت‌ها از یک حوزه به حوزه‌ی دیگر دیگر به سادگی گذشته نیست.

سی‌شارپ ۳.۰ و فریم‌ورک .NET ۳.۵ مجموعه‌ای از ویژگی‌های جدید را معرفی می‌کنند. احتمالاً مهم‌ترین آن‌ها LINQ (پرس‌وجوی زبان INtegrated) است که به شما امکان می‌دهد به روشی یکپارچه و مشابه زبان SQL، پرس‌وجو کنید، مجموعه اشیاء از ساختارهای حافظه داخلی مانند آرایه‌ها و لیست‌ها، از پایگاه‌های داده (فعلاً فقط سرور SQL – فوریه ۲۰۰۸) یا از فایل‌های XML.

این سند یک دوره جامع نیست. به عنوان مثال، LINQ در اینجا پوشش داده نشده است. این سند برای افرادی است که پیش از این تجربه برنامه‌نویسی دارند و می‌خواهند اصول اولیه C# را بیاموزند. این یک بازنگری از سند اصلی منتشر شده در سال ۲۰۰۲ است.

چند کتاب به من در نوشتن این دوره کمک کرده‌اند:

برای نسخهٔ ۲۰۰۲:

  • برنامه‌نویسی حرفه‌ای C#، Wrox
  • C# و .NET، ژرار لبلانک، ایرول

در آن زمان، من هر دو کتاب را عالی یافتم. از آن زمان، ژرار لبلان نسخه‌های به‌روزتری منتشر کرده است، از جمله موارد زیر:

  • C# and .NET 2005، ژرار لبلانک، ایروِل

برای ویرایش ۲۰۰۸، از منابع زیر استفاده کردم:

  • سند اصلی ۲۰۰۲. این سند که با کپی و پیست از یادداشت‌های دوره جاوای من ایجاد شده بود، حاوی هم خطاهای تایپی و هم خطاهای جدی‌تری بود، مانند این ادعا که انواع اولیه مانند System.Int32 کلاس هستند، در حالی که در واقع ساختار هستند. تقصیر من است...
  • مستندات MSDN برای ویژوال استودیو اکسپرس ۲۰۰۸
  • کتاب *C# 3.0 in a Nutshell* اثر جوزف و بن البهاری، منتشر شده توسط اورایلی – یکی از بهترین کتاب‌های برنامه‌نویسی که تا به حال خوانده‌ام.

کد منبع مثال‌های این سند در وب‌سایت [آموزش C# نسخه ۳.۰ با فریم‌ور .] موجود است.

سرژ تاهه، مه ۲۰۰۸

از مه ۲۰۰۸، C# البته تکامل یافته است. با این حال، این سند همچنان برای یادگیری زبان مرتبط باقی مانده است. برای تکمیل این دوره، ارائه‌ای از ORM را خواهید یافت (نقشه‌بردار شیء رابطه‌ای) Entity Framework در مقاله «مقدمه‌ای بر ORM Entity Framework 5 Code First» در URL [مقدمه‌ای بر Entity Framework 5 Code First از طریق مثال‌ها (۲۰۱۲)].

سرژ تاهه، اکتبر ۲۰۱۳