سي شارب: الفرق بين النسختين

[نسخة منشورة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
ZkBot (نقاش | مساهمات)
ط ←‏المزايا الفارقة: ادراج رابط
سطر 223:
=== المزايا الفارقة ===
تتفرد لغة سي# عن غيرها من [[لغات برمجة]] [[إطار عمل دوت نت]] في كونها مرتبطة بشكل وثيق بمزايا البنية التحتية المشتركة للغات البرمجة (CLI)، فعلى سبيل المثال تنسب معظم الأنماط الحقيقية إلى قرائنها من أنماط القيمة {{إنج|value-types}} الموجودة في CLI. على الرغم من ذلك فإن توصيف اللغة لا يتطرق إلى متطلبات توليد الكود الخاصة [[مصرف (برمجة)|بالمصرّف]]، بمعنى أن التوصيف لا يرغم مصرف سي# على توليد كود متوافق مع [[وقت التنفيذ المشترك للغات]] (CLR) أو توليد تعليمات متوافقة مع اللغة المشتركة الوسيطة {{إنج|Common Intermediate Language}} أو أي تنسيق آخر. وهكذا يمكّن (نظرياً على الأقل) مصرّف سي# من توليد كود [[لغة الآلة]] مباشرة على غرار باقي المصرفات كمصرّف [[سي++]] ومصرّف [[فورتران]]. فيما يلي بعض من المزايا الجديرة بالاهتمام كونها تميز لغة سي# عن لغتي [[سي (لغة برمجة)|سي]] و[[سي++]] (بالإضافة إلى [[جافا (لغة برمجة)|جافا]] لدى ذكر ذلك صراحة):
* تدعم سي# التصريح الضمني عن المتحولات قوية التنميط عن طريق [[كلمة مفتاحية|الكلمة المفتاحية]] {{كود|var}} بالإضافة إلى التصريح الضمني عن المصفوفات المنمطة عن طريق الكلمة المفتاحية متبوعة بمهيئ المجموعة.
* إن إمكانية الميتا-برمجة {{إنج|Meta Programming}} من خلال استخدام السمات {{إنج|Attributes}} هي جزءً من توصيف اللغة. توفر العديد من هذه السمات وظيفية مطابقة لتلك التي توفرها موجهات قبل التصريف المعتمدة على المنصة المدعومة من قبل [[جي.سي.سي]] و[[مايكروسوفت فيجوال سي++|فيجوال سي++]].
* يجب على مبرمجي سي# استخدام الكلمة المفتاحية {{كود|virtual}} من أجل إتاحة تجاوز الطرق في الصفوف المشتقة على غرار لغة سي++ (وخلافاً للغة جافا).