- اسم الكتاب: الجديد في إصدارات سي شارب 8 ، 9 ، 10
- عدد الصفحات: 200
- سعر الكتاب: 5 دولارات من خارج مصر أو 60 جنيها من داخل مصر.
هذا الكتب تجميع لأجزاء متناثرة من مرجع:
"من الصفر إلى الاحتراف سي شارب 10، أساسيات اللغة
والتفكير البرمجي"
والهدف من هذا، هو التيسير على من قرأوا ذلك المرجع
لإصدار سي شارب 7، أو كانوا يجيدون بالفعل سي شارب حتى الإصدار 7 ويريدون أخذ فكرة
عن الجديد في إصدارات سي شارب التالية، وعلى رأسها:
- مسجلات
البيانات Records.
- مطابقة
الأنماط Pattern Matching.
- معالجات النصوص التعويضية Interpolated String Handlers.
ولا يقتصر هذا الكتاب على تجميع الأجزاء التي تتناول
الجديد في إصدارات سي شارب، وإنا يشتمل أيضا على بعض المواضيع الهامة التي أضفتها
للمرجع، مثل:
- إنشاء مشروع لاختبار الوحدات Uint
Test Project
وتعلم كتابة الاختبارات.
- إنشاء مكتبة للفئات Class
Liberary.
- نبذة عن طريقة عمل مترجمات الكود Compilers من خلال إنشاء محلل نصي لحل العمليات الحسابية
بطريقة ثالثة غير الطريقتين المشروحتين في الإصدار السابق من المرجع.
وغير هذا مما يمكن أن تلقي نظرة سريعة عليه في الفهرس:
-1-
الجديد في سي شارب 8
و 9 و 10
كود المستوى الأعلى Top Level Code
.... 8
نطاقات الاسم العامة Global Namespaces
.... 10
جملة نطاق الاسم Namespace
Statement .... 10
الكود الذكي IntilliCode .... 11
التعديل أثناء التشغيل Hot Reload
.... 11
التعويض عن الثوابت النصية .... 12
التجاهلات Discards .... 13
التفكيك Deconstruction .... 13
المعامل sizeof .... 14
العدد نصف العشري Half .... 15
تسهيلات في التعامل مع الكائنات .... 16
الأنواع المرجعية المنعدمة Nullable Reference Types
.... 17
تطويرات جديدة في الدالة المجهولة Anonymous Function
والدالة الفورية Lambda
Expression .... 20
النسخ مع التعديل باستخدام التعبير with
.... 22
تطويرات تخص منشئ السجل Structure Constructor
.... 23
الخصائص التي يمكن إعدادها فقط Init-Only Properties
.... 25
دوال للقراءة فقط Read
Only Functions .... 26
-2-
الفهرس Index
ونطاق الخانات Range
صيغة الفهرس وصيغة النطاق .... 31
استخدام الفهرس مع المصفوفة .... 33
استخدام النطاق مع المصفوفة .... 33
استخدام الفهرس والنطاق مع النص .... 36
استخدام الفهرس Index في تعريف مفهرس Indexer .... 37
استخدام النطاق Range في تعريف مفهرس Indexer .... 37
-3-
التمثيل الافتراضي
للواجهة
Default Interface Implementation
التمثيل الافتراضي للواجهة .... 39
- 4 -
السمات عامة النوع Generic Attributes
الحاجة إلى السمة عامة النوع .... 42
تعريف سمة عامة النوع .... 43
قراءة السمة عامة النوع .... 43
القيود الواجب الالتزام بها في تعريف السمة عامة النوع .... 45
-5-
مسجلات البيانات Records
فئة البيانات Record
Class .... 47
الصيغة الموضعية Positional
Syntax .... 49
إضافة سمات Attributes للصيغة الموضعية .... 50
كتابة تعليقات XML للصيغة الموضعية .... 51
صيغة التعريف المختلطة .... 51
وراثة فئة البيانات Record Class Inheritance
.... 55
تمثيل الواجهات في الصيغة الموضعية .... 57
فئة البيانات عامة النوع Generic Record Class
.... 59
سجل البيانات Record
Structure .... 59
-6-
مطابقة الأنماط Pattern Matching
تعبير تبديل الحالة switch Expression
.... 61
مطابقة أنماط الخصائص Property Pattern Matching
.... 64
أنماط صف القيم والمفكك Tuple and Decostructor Patterns
.... 68
مطابقة أنماط الأـنواع Type Pattern Matching
.... 70
مطابقة الأنماط المتداخلة .... 76
-7-
معالج النص التعويضي
Interpolated String Handler
المعالج الافتراضي Default Interpolated String Handler
.... 79
إنشاء معالج خاص للنص التعويضي Custom
Handler .... 81
معالجة المحاذاة Alignment والتنسيق Format .... 86
إنشاء معالج تعويضي خاص بفئة معينة .... 90
إرسال معاملات إضافية للمعالج .... 94
إيقاف تفيذ المعالج في أي وقت .... 96
محلل النص التعويضي Interpolated Parser
.... 101
-8-
اختبارات الوحدات Unit Tests
ما هي اختبارات الوحدات وما أهميتها؟ .... 112
إنشاء مشروع اختبار للوحدات .... 114
كتابة اختبار للدالة Add .... 119
إرسال صفوف بيانات لدالة الاختبار .... 125
إنشاء خطأ خاص Custom
Exception .... 128
نافذة إنشاء اختبارات الوحدات .... 130
اختبار الدالة AddList .... 133
اختبار الدالة CopyList .... 134
اختبار الدالة SubList .... 136
اختبار الدالة CopySubList .... 137
اختبار وسائل التعداد Enumeration .... 138
أهمية الاختبارات عند إجراء تغييرات حرجة .... 140
معالجة انهيار الاختبارات Test Crash
.... 143
-9-
إنشاء مكتبة فئات Class Library
إعادة استخدام الفئات في مشاريع مختلفة .... 146
إنشاء مكتبة DLL .... 147
-10-
نبذة عن مترجمات
الكود Compilers
فئة العملية الحسابية Operation Class
.... 153
تحليل العمليات الحسابية .... 156
حل مشكلة عملية الطرح .... 162
إعادة تصميم فئات العمليات الحسابية .... 165
نبذة عن كتابة مترجمات الكود Compilers
.... 167
-11-
تطبيقات طريفة
للعدادات Enumerators
دالة الحصول على العداد GetEnumerator
.... 172
عدادات مدهشة .... 175
وضع القيم الابتدائية للمجموعات .... 178
-12-
مقطع الاستخدام Using Block
واجهة القابلية للفناءIDisposable Interface
.... 181
جملة تعريف الاستخدام Using declaration Statement
.... 183
إنشاء مقطع استخدام للمصفوفة .... 184
حل آخر لاستخدام المجموعات .... 189
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.