لغة سي شارب #C هي من لغات البرمجة القوية، وهي إحدى بيئات الدوت نت التي أنتجتها وطورتها شركة ميكروسوفت، “وذلك من أجل الخروج من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة SUN .
ظهرت لغة سي شارب رسمياً سنة 2002 مع الإصدار الأول من منصة .NET Framework، وصممها فريق في مايكروسوفت بقيادة أندرس هيلسبرغ. وهي لغة عالية المستوى، كائنية التوجه، ذات أنواع ثابتة (Statically Typed)، تجمع بين قوة لغات عائلة C وسهولة لغات مثل Java.
تعمل برامج C# اليوم على منصة .NET الحديثة مفتوحة المصدر التي تدعم ويندوز ولينكس وماك، وتُستخدم اللغة في تطوير تطبيقات سطح المكتب، ومواقع وتطبيقات الويب باستخدام ASP.NET Core، وتطبيقات الموبايل عبر .NET MAUI، وكذلك الألعاب باستخدام محرك Unity.
ورغم تشابه الاسم، فإن C# لغة مختلفة عن لغة C التي طوّرها دينيس ريتشي في مختبرات بيل خلال السبعينيات، وعن لغة C++؛ فهي تعتمد على إدارة الذاكرة التلقائية (Garbage Collection) وتوفر مكتبة ضخمة جاهزة من الأدوات والدوال.
نبذة عن الكتاب
هذا الكتاب ليس مرجعا في #C وال دليل استخدام وال يمثل إال نفسه ، ويمكن اعتباره ملخص صغير لألكواد الأكثر تكرارا والأفكار والشروحات الأكثر تواجدا بين سطور أي برنامج #C .
بشكل أساسي ، سوف أقوم بتطبيق الأكواد على فيجوال ستوديو 2012 . ولن أشرح كيفية تنزيل أو تثبيت أو تكريك هذا البرنامج – أو البيئة البرمجية – على اعتبار أن هذا الكتاب ليس مرجعا كما اتفقنا . كما أنني لن أشرح كل شاردة وواردة في #C بكل ما تحتوي من طرق وفئات .
محتويات الكتاب
- مقدمة
- نبذة عن المؤلف
- تاريخ لغات البرمجة
- الفكرة والبرمجة
- الذكاء، اإلدراك، الوعي والفهم
- مجاالت استخدام C#
- لمن هذا الكتاب؟
- ماهو أفضل، التعليم المقروء أم المرئي؟
- خطة الكتاب
- تنسيق الكتاب
الجزء الأول – Console Application
- الفصل صفر – أساسيات
- المنطق البرمجي
- أكواد أساسية – الفئة Console
- استخدام خصائص وطرق الفئات
- ايقاف البرنامج – انتظار أحد المفاتيح
- تغيير عنوان نافذة المشروع
- تغيير لون نافذة المشروع
- طباعة عبارة نصية
- رموز طباعة خاصة
- أكواد متقدمة – الفئة MessageBox
- الفصل الأول – المتغيرات
- أنواع المتغيرات
- التصريح عن المتغيرات
- إسناد القيم للمتغيرات
- التصريح عن الثوابت
- قراءة المعطيات
- التحويل بين أنواع المتغيرات
- أنواع المتغيرات بعمق
- bool
- char
- DateTime
- decimal
- double
- float
- int
- long
- string
- كائن StringBuilder
- تنسيق العبارات النصية
- التحكم بالأخطاء Exception Handling
- التحكم باستخدام Try – Catch
- الروابط
- التوابع الرياضية Math
- تسلسل العمليات الرياضية
- فكرة أخيرة – المبرمج لايعلم كل العلوم !
- أمثلة تطبيقية
- الفصل الثاني – بنى التحكم
- بنية الشرط If
- بنية الشرط If .. Else
- بنية الشرط المتعددة
- بنية الشرط المختصر
- بنية االختيار Switch
- أمثلة تطبيقية
- الفصل الثالث – بنى التكرار
- حلقة For
- حلقة while – do
- حلقة while
- حلقة label goto
- التحكم بالحلقات
- باستخدام continue
- باستخدام break
- أمثلة تطبيقية
- الفصل الرابع – المصفوفات
- التصريح عن المصفوفات
- إسناد القيم لعناصر المصفوفات
- التعامل مع المصفوفات
- استخدام Array
- الحلقات في المصفوفات
- اللوائح Lists
- التصريح عن اللوائح
- التعامل مع اللوائح
- القواميس Dictionaries
- التصريح عن القواميس
- إضافة العناصر للقواميس
- طباعة عناصر القواميس
- البحث عن العناصر في القواميس
- حذف العناصر في القواميس
- المكدسات Stacks
- التصريح عن المكدسات
- إضافة عناصر للمكدسات
- طرح العناصر من المكدسات
- أمثلة تطبيقية
- الفصل الخامس – أنواع بيانات خاصة بك
- التراكيب Struct
- المتفرعة التراكيب Nested Structs
- التراكيب من مصفوفة Array of Structs
- طرق خاصة بالتراكيب
- المعددات Enum
- الفصل السادس – الطرق، التوابع واإلجراءات
- تمرير المتغيرات
- التمرير بالقيمة
- التمرير بالمرجع
- التمرير باإلخراج
- تمرير عدد غير محدد من الوسطاء كمصفوفة
- إرجاع التوابع كمصفوفة
- الفصل السابع – الفئات Classes
- المجمعات Assemblies
- مجالات الأسماء Namespaces
- إنشاء مجال أسماء
- مجال الرؤية
- التعريف االفتراضي
- Public
- Private
- Protected
- Internal
- الكلمة static
- التابع البناء Constructor
- التابع الهدام Destructor
- الخصائص Properties
- الوراثة Inheritance
- الفئات المجردة abstract
- الفئات المغلقة sealed
- الوظائف الوهمية virtual Methods
- تعدد التعاريف Overloading
- تعدد الأشكال Polymorphisme
- الواجهات Interfaces
- المفوضات Delegates
- التفويض المتعدد Multicasting
- الأحداث Events
- الوظائف المجهولة Anonymous Methods
- العبارة لامدا Lamda expression
- مكتبات الأرتباط الحيوي dll
- إنشاء مشروع dll
- إضافة المكتبة إلى مراجع المشروع
- مكتبات API الجاهزة
الجزء الثاني – Windows Form Applications
- الفصل الثامن – أساسيات
- متصفح المشروع Solution Explorer
- صندوق الأدوات ToolBox
- الخصائص Properties
- قائمة الأخطاء Error List
- النموذج Form
- محرر الأكواد
- استيراد المراجع
- الخصائص Properties
- الأحداث Events
- الفصل التاسع – مشاريع تطبيقية
- مشروع TextToSpeech
- مشروع EmailSender
- مشروع WindowsExplorer
- مشروع NotePadDataBase
- مشروع SpeakToComputer
- مشروع TabbedNotePad
- مشروع WebBrowser
- مشروع PopupMessage
- مشروع MP3Reader
- مشروع تحويل األعداد إلى كلمات
- الفصل العاشر – الدوس و#C
- ماهو موجه الأوامر cmd ؟
- أوامر دوس
- عمليات متقدمة على الأوامر
- أخطاء قد تواجهك
- الملفات الدفعية Batch Files
- تغليف الملفات الدفعية
- حماية الملفات والبيانات
- تشفير النصوص
- حماية الملفات داخل صورة
- حماية الملفات داخل قواعد البيانات
- حماية الملفات بتحويلها إلى ملفات نظام مخفية
- الفصل الحادي عشر – الرجستري
- التعامل مع القيم والمفاتيح
- نظرة عامة
- تطبيق 1 – نسخ الملف كمسار!
- تطبيق 2 – نسخ المجلد كمسار
- تطبيق 3 – نسخ تقرير عن محتويات المجلد
- تطبيق 4 – نسخ محتوى الملفات النصية!
- تطبيق 5 – نسخ محتوى الملفات النصية 2
- تطبيق 6 – خصائص الملفات باختصار
- نشر المفاتيح، تصديرها واستيرادها
- مسح المفاتيح
- التسجيل الصامت !
- الرجستري من خالل #C
- القيم والمفاتيح برمجي
- تطبيق 7 – التحقق من المستخدم!
- تطبيق 8 – فكرة، نسخة محدودة..
- صيغة ملفات خاصة بك!
- تطبيق 9 – ربط برنامجك بصيغة خاصة به
- التعامل مع القيم والمفاتيح
- الفصل الثاني عشر – قواعد بيانات SQL
- إنشاء قاعدة بيانات
- بعض أوامر قواعد البيانات
- عرض البيانات select
- عرض البيانات وفق شرط where 405
- عرض البيانات وفق ترتيب معين by order
- الإضافة والحذف والتعديل insert, delete, update
- التوابع الجاهزة
- تجميع البيانات group by
- النسخ الأحتياطي
- إنشاء اتصال مع قاعدة البيانات
- الإتصال باستخدام كائن بناء الإتصال
- القراءة من قاعدة البيانات
- إضافة وحذف بيانات إلى قاعدة البيانات
- تعديل بيانات قاعدة البيانات
- استخدام SqlParameter
- عرض البيانات في جدول عرض
- التنقل بين البيانات والعمليات عليها
- الإجراءات المخزنة
- الربط بين أكثر من جدول
- طبقة الوصول للبيانات DAL
- الإتصال وقطع الإتصال بقاعدة البيانات
- حذف البيانات
- الفصل الثالث عشر – قواعد بيانات ACCESS
- إنشاء قاعدة بيانات
- إنشاء اتصال مع قاعدة البيانات
- إضافة سجل جديد
- حذف السجلات
- تعديل السجلات
- سهولة الوصول إلى البيانات
- البحث عن السجلات
- تجميع البيانات
- إظهار البيانات في قائمة عرض ListView
- إظهار البيانات في مخططات
- حفظ الصور في قاعدة البيانات
- النسخ الإحتياطي
- حماية قاعدة البيانات
- إعادة ضبط كلمة السر
- الفصل الرابع عشر – التقارير Reports
- تصميم التقرير
- ربط أداة عرض التقارير بالتقرير
- عرض تقرير عن كافة المحتويات
- عرض تقرير عن السجل المحدد
- عرض تقرير عن نتائج البحث
- الفصل الخامس عشر – تقنيات مفيدة
- محارف غير موجودة في كيبوردك !
- التحكم بمدخلات صناديق الإدخال
- تأكيد الخروج من البرنامج
- تغيير خط إحدى الأدوات
- عمليات مفيدة على ListBox
- الأيقونات في التطبيقات مثل الألوان في اللوحات !
- الملحقات والمراجع
- ملحق أ – جدول ASCII
- ملحق ب – أكواد Alt
- ملحق ج – الكلمات المحجوزة في C#
- ملحق د – رموز الكائنات في الفيجوال ستوديو
- المراجع
- رسالة الكتاب
مؤلف الكتاب
المهندس / حسن الفحل
صيغة الكتاب
لمن هذا الكتاب؟
- مبرمج مبتدئ يحتاج ملخصًا عمليًا للأكواد الأكثر استخدامًا في سي شارب بدل مرجع طويل.
- من يريد بناء برامج سطح مكتب لويندوز بواجهات Windows Forms.
- طالب يحتاج أمثلة جاهزة لمشروعات Console وواجهات رسومية في مقرر البرمجة.
هل الكتاب مناسب للإصدار الحالي؟
يطبّق الكاتب الأكواد على Visual Studio 2012، وهو إصدار قديم خارج الدعم. الأكواد الأساسية في الجزء الأول ما زالت تعمل في الإصدارات الحديثة من Visual Studio Community و.NET، وتقنية Windows Forms في الجزء الثاني ما زالت مدعومة في .NET الحديث لكنها تعمل على ويندوز فقط.
عند إنشاء مشروع جديد اختر قالب Windows Forms App للنسخة الحديثة من .NET، وستجد أن معظم الأدوات والأحداث التي يشرحها الكتاب لها نفس الأسماء تقريبًا.
كيف تطبّق أثناء القراءة
اقرأ الجزء الأول ونفّذ أمثلته في مشروع Console، ثم حوّل أحد هذه البرامج إلى واجهة رسومية في الجزء الثاني، مثل آلة حاسبة أو برنامج لتسجيل بيانات العملاء في ملف.
أسئلة شائعة
هل يجب استخدام Visual Studio 2012 كما في الكتاب؟
لا، استخدم Visual Studio Community الحديث المجاني، فأكواد الكتاب تعمل عليه مع اختلافات بسيطة في شكل الواجهة.
هل Windows Forms ما زالت مستخدمة؟
نعم في برامج سطح المكتب الداخلية للشركات لسهولتها، أما البرامج الجديدة متعددة المنصات فتتجه غالبًا إلى WPF أو .NET MAUI أو تطبيقات الويب.
اقرأ أيضاً
- كتاب الإبحار في لغة سي شارب C# باللغة العربية PDF
- كتاب كودات السي شارب C#.NET Codes
- كتاب سبيلك إلى تعلم سي شارب #C بالعربي
- الدوال في لغة سي شارب C# Methods

