Skip to content

1. مقدمة

يتوفر ملف PDF لهذا المستند باللغة الإنجليزية |ICI|.

الأمثلة الواردة في هذا المستند متاحة على |ICI|.

C# هي لغة حديثة. كانت متوفرة في إصدارات تجريبية متتالية منذ عام 2000، قبل أن يتم إصدارها رسميًا في فبراير 2002 في نفس الوقت الذي تم فيه إصدار منصة .NET 1.0 من Microsoft، والتي ترتبط بها. لا يمكن تشغيل C# إلا في بيئة التنفيذ هذه. وهي توفر للبرامج التي تعمل داخلها مجموعة واسعة من الفئات. كأول تقريب، يمكن القول إن منصة .NET هي بيئة تنفيذ مشابهة لآلة Java الافتراضية. ومع ذلك، هناك اختلافان:

  • تعمل Java على أنظمة تشغيل مختلفة (Windows وUnix وMacintosh) منذ إنشائها. في عام 2002، كانت منصة .NET تعمل فقط على أجهزة Windows. في السنوات الأخيرة، أتاح مشروع Mono [http://www.mono-project.com] تشغيل منصة .NET على أجهزة تعمل بأنظمة تشغيل مثل Unix وLinux. يدعم الإصدار الحالي من Mono (فبراير 2008) .NET 1.1 وعناصر من .NET 2.0.
  • يمكن لمنصة .NET تشغيل برامج مكتوبة بلغات مختلفة. كل ما هو مطلوب هو أن يكون المُجمع قادرًا على إنتاج كود IL (اللغة الوسيطة)، والذي يتم تنفيذه بعد ذلك بواسطة الآلة الافتراضية لـ .NET. جميع فئات .NET متاحة للغات .NET المتوافقة، مما يؤدي إلى محو الاختلافات بين اللغات، حيث تستخدم البرامج هذه الفئات على نطاق واسع. يصبح اختيار لغة .NET مسألة ذوق أكثر منها مسألة أداء.

في عام 2002، استخدمت لغة C# منصة .NET 1.0. في ذلك الوقت، كانت لغة C# إلى حد كبير "نسخة" من لغة Java، وكانت .NET مكتبة فئات تشبه إلى حد كبير مكتبة منصة تطوير Java. عند تعلم اللغة، كان بإمكانك الانتقال من بيئة C# إلى بيئة Java دون أن تشعر بالغربة. كانت هناك حتى أدوات لتحويل كود المصدر من لغة إلى أخرى. منذ ذلك الحين، تطورت الأمور. أصبح لكل لغة ومنصة تطوير الآن خصائصها الخاصة. لم يعد من السهل نقل المهارات من مجال إلى آخر.

تقدم C# 3.0 وإطار عمل .NET 3.5 العديد من الميزات الجديدة. ولعل أهمها هو LINQ (Language INtegrated Query)، الذي يتيح الاستعلام عن تسلسلات الكائنات بطريقة موحدة، على غرار لغة SQL، من الهياكل الموجودة في الذاكرة مثل المصفوفات والقوائم، وقواعد البيانات (SQL Server فقط في الوقت الحالي - فبراير 2008) أو ملفات XML.

هذا المستند ليس دورة شاملة. على سبيل المثال، لم يتم تغطية LINQ. وهو مخصص للأشخاص الذين لديهم معرفة مسبقة بالبرمجة ويرغبون في اكتشاف أساسيات C#. وهو نسخة منقحة من المستند الأصلي الذي نُشر في عام 2002.

ساعدتني عدة كتب في كتابة هذه الدورة التدريبية:

بالنسبة لإصدار عام 2002:

  • البرمجة الاحترافية بلغة C#، دار نشر Wrox
  • C# و.NET، جيرار ليبلانك، دار النشر Eyrolles

في ذلك الوقت، اعتقدت أن كلا الكتابين ممتازان. وقد نشر جيرار لوبلانك منذ ذلك الحين إصدارات محدثة، بما في ذلك ما يلي:

  • C# و .NET 2005، جيرار لوبلان، دار النشر Eyrolles

بالنسبة لتنقيح عام 2008، استخدمت المصادر التالية:

  • الوثيقة الأصلية لعام 2002. احتوت هذه الوثيقة، التي تم نسخها ولصقها من دورة Java الخاصة بي، على أخطاء مطبعية وأخطاء أكثر خطورة، مثل القول بأن الأنواع الأولية مثل System.Int32 هي فئات، في حين أنها هياكل. أنا أعتذر عن ذلك...
  • وثائق MSDN الخاصة بـ Visual Studio Express 2008
  • كتاب C# 3.0 in a Nutshell للكاتبين جوزيف وبن ألباهاري، الصادر عن دار أورايلي، وهو أحد أفضل كتب البرمجة التي قرأتها على الإطلاق.

تتوفر أكواد المصدر للأمثلة الواردة في هذا المستند على [http://tahe.developpez.com/dotnet/csharp/].

سيرج تاهي، مايو 2008

منذ مايو 2008، تطورت لغة C# بالطبع. ومع ذلك، لا يزال هذا المستند مناسبًا لتعلم هذه اللغة. بالإضافة إلى هذه الدورة التدريبية، ستجد عرضًا تقديميًا لـ ORM (Object Relational Mapper) Entity Framework في المقالة "مقدمة إلى ORM Entity Framework 5 Code First" على الرابط [https://stahe.github.io/ar-ef5cf-oct-2012/].

سيرج تاهي، أكتوبر 2013