سي شارب

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ بحث
العنوان المعطى في هذه المقالة هو عنوان خاطئ نتيجة تحديات تقنية. العنوان الصائب هو سي#.
سي#
C Sharp wordmark.svg

التصنيف نمط برمجة: برمجة مهيكلة, برمجة أمرية, برمجة كائنية التوجه, event-driven, برمجة وظيفية, generic, reflective, concurrent
ظهرت في 2000
صممها مايكروسوفت
الرخصة احتكارية
التطوير
المطور مايكروسوفت
آخر إصدار 5.0
رقمه 5.0 (2012-08-15؛ منذ 279 يومًا)
التأثير
متأثرة بـ سي++,إيفل, جافا, Modula-3, باسكال
أثرت في دي (لغة برمجة), إف شارب (لغة برمجة), جافا[1], Nemerle, Vala
متفرقات
امتدادات الملفات .cs
موقع ويب http://msdn.microsoft.com/vcsharp

سي# (بالإنجليزية: #C) هي إحدى لغات البرمجة لغة برمجة متعددة الاستخدامات من إطار عمل دوت نت من إنتاج شركة مايكروسوفت يرمز إليها بالرمز #C وتنطق "سي شارب"، وهي إحدى اللغات التي أنتجتها شركة مايكروسوفت خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن ميكروسيستمز [2]، تم الإعلان عنها في أواسط عام 2000 [3] تزامنا مع الإعلان عن إطار عمل دوت نت (بالإنجليزية: .NET Framework). تتميز سي# بأنها إحدى لغات البرمجة الكائنية التوجه وتجمع صفات سي++ وفيجوال بيسك حيث أنها تستخدم القواعد الخاصة بالسي++ وسرعة التطوير كما في فيجوال بيسك. لغة السي# موجهة إلى مبرمجي المايكروسوفت فيجوال سي++ ومبرمجي السي++ على أنها امتداد لهذه اللغات.

محتويات

الإصدارات [عدل]

هذه قائمة بالإصدارات المختلفة للسي#:

الإصدار مواصفات اللغة مترجم مايكروسوفت
1.0 ديسمبر 2001 يناير 2002
2.0 ديسمبر 2002 نوفمبر 2005
3.0 يونيو 2005 نوفمبر 2006
4.0 يونيو 2006
5.0 أغسطس‏ 2012

بيئات تطوير السي# [عدل]

يوجد العديد من بيئات التطوير المتكاملة التي تستخدم لتطوير برامج بالسي#، مثل:

عن اللغة باختصار [عدل]

تشبه لغة سي# تعبيريّا لغة سي++. حتى انه يمكن بقليل من الجهد فهم كود سي# لمن يعرف سي++. سي# لغة كائنية التوجه بشكل كامل، اي ان كل الكود المكتوب بهذه اللغة عبارة عن كائنات -لا يوجد متغيرات مستقلة - لا يمكن تعريف متغيّر خارج الفئة(بالإنجليزية: Class).. وتستخدم اللغة مكتبات الدوت نت (بالإنجليزية: net.) الجاهزة، مثال على برنامج بلغة سي# (ترقيم الأسطر ليس ضمن البرنامج \ عند نسخك البرنامج تجاهل هذه الارقام (امسحها))

1. using System;
2. using System.Collections.Generic;
3. using System.Text;
 
4. namespace hello
5. {
6.     class Program
7.     {
8.         static void Main(string[] args)
9.         {
10.            Console.WriteLine("Hello World");
11.            Console.WriteLine(5 + 6);
12.            Console.WriteLine("Bay!!");
13.
14.         }
15.    }
16.}

نتيجة البرنامج:

Hello World
11
Bay!!
Press any key to continue...

الشرح: السطر 2 و 3 لم نستخدمها يمكنك الاستغناء عنها. السطر 1 يعلن اننا نريد استخدام نطاق الأسماء(بالإنجليزية: systm namespace)المسمّى: system وهو نطاق يحتوي على فئات جاهزة (مثل الفئة Console) التي استخدمناها في السطور 10 11 12. سطر 4 : بداية اسم نطاق لبرنامجنا (نخن نختار الاسم)، وهو بدوره سيحتوي الفئة التي ستحتوي برنامجنا. 5 : قوس فاتح (نفتتح به كتلة من الأوامر والبيانات) 6: بداية الفئة(بالإنجليزية: Class) الخاصة ببرنامجنا. 7: قوس فاتح سيحتوي فحوى الفئة(بالإنجليزية: Class). 8: بداية الدالة الرئيسية - التي يجب أن تتواجد في كل برنامج سي#، ومنها يبدأ التنفيذ وهي الدالة Main الكلمة static تعني ان الدالة يمكن استدعائها دون الحاجة إلى إنشاء كائن للفئة التي تحتوي الدالة(هذا معناها هنا في هذا السياق - اما معناها العام فلن نشرحه هنا). void تعني ان الدالة Main لن ترجع قيمة (هناك دوال ترجع قيمة مقل دالة لجمع رقمين وترجع لنا المجموع) Main كما قلنا أهم الدوال.(string[] args) هذه قائمة بالبرامترات التي تستقبلها الدالة - لن نناقشها الآن، لكن إذا اردنا تمرير برامترات إلى دالتنا هذه فيجب تمريرها عبر سطر الاوامر بعد اسم البرنامج مثلا: c:\myprogram para1 para2 هكذا مررنا للدالة Main برامترات. 10 11 12 استخدمنا الدالة WritLine لكتابة سطر على الشاشة. هذه الدالة تابعة للفئة Console التي تتبع بدورها لنطاق الأسماء system. تقوم هذه الدالة بعمل ذكي، فهي تترجم كل ما تضعه بين الاقواس إلى نص وتكتبه على الشاشة. ففي السطر 11 كتبنا 5 + 6 قامت الدالة بتحويل الناتج (11) إلى تص وكتبته على الشاشة. السطور 10 11 12 هنّ استخدامات لنفس الدالة. 14 15 16 هي اقواس اغلاق 14 اغلقنا الدالة 15 اغلقنا الفئة (بالإنجليزية: Class). 15 اغلقنا اسم النطاق (بالإنجليزية: namespace).

انظر أيضا [عدل]

المراجع [عدل]

وصلات خارجية [عدل]