سلسلة تعلم 100 حزمة من C# في ساعة: الإصدار السنوي 2024
By رونيا
()
About this ebook
هل تريد إتقان أساسيات C# بسرعة؟ "سلسلة تعلم 100 حزمة من C# في ساعة: الإصدار السنوي 2024" هو دليلك الشامل. في هذا الكتاب الإلكتروني، نقدم لكم مجموعة واسعة من الحزم في C#، مصممة لتعزيز فهمك ومهاراتك في البرمجة خلال ساعة واحدة فقط.تشمل المواضيع المغطاة:إدارة البيانات ومعالجتهاتطبيقات الويب والخدماتالتفاعل مع قواعد البياناتوأكثر من ذلك بكثير!استفد من الأمثلة العملية والتمارين البرمجية لتحسين تجربتك التعليمية ولتصبح مبرمج C# فعّال في وقت قصير.
Related to سلسلة تعلم 100 حزمة من C# في ساعة
Related ebooks
تعلم البرمجة للمبتدئين: من خلال بناء لعبة XO Rating: 4 out of 5 stars4/5باقة 100 من حزم Rust: سلسلة التعلم السريع لعام 2024 Rating: 0 out of 5 stars0 ratingsالارتـقــاء بتـجـربــة الـعمـلاء: مخططك لتحقيق التميز في تجربة العملاء Rating: 0 out of 5 stars0 ratingsإضاءات على علم إدارة المشاريع الهندسية من التصميم إلى التنفيذ Rating: 3 out of 5 stars3/5The Standard for Program Management - Fourth Edition (ARABIC) Rating: 2 out of 5 stars2/5المدير الأخطبوطي: جرعات معرفية في إدارة تقنية المعلومات Rating: 0 out of 5 stars0 ratingsدليل العملات المشفرة: دليل المبتدئين للعملات المشفرة والبلوكشين والرموز غير القابلة للاستبدال Rating: 0 out of 5 stars0 ratingsAgile Practice Guide (Arabic) Rating: 3 out of 5 stars3/5مائة حزمة من لغة جو: سلسلة إتقان في ساعة واحدة، طبعة 2024 Rating: 0 out of 5 stars0 ratingsتأكيد وضبط جودة المنشات الخرسانية Rating: 4 out of 5 stars4/5قبل أن تبدأ البرمجة Rating: 4 out of 5 stars4/5سد الفجوات المستقبلية في العمل Rating: 0 out of 5 stars0 ratingsجودة المقررات الالكترونية فى ظل كوفيد - 19: مستحدثات تكنولوجيا التعليم Rating: 5 out of 5 stars5/5What Is E-Commerce?: "A Book For Businessmans" Rating: 0 out of 5 stars0 ratingsرازبري باي - ( تعلم - صمم - ابتكر ) Rating: 0 out of 5 stars0 ratingsبوصلة النجاح الذكية مؤشرات الأداء الرئيسية لتحويل الرؤى إلى أرباح Rating: 0 out of 5 stars0 ratingsكيفية الحصول على وظيفة بسرعة على LinkedIn Rating: 0 out of 5 stars0 ratingsالبحث في المحتوى الرقمي: البحث في المحتوى الرقمي Rating: 0 out of 5 stars0 ratingsخفايا تكنولوجيا Rating: 0 out of 5 stars0 ratingsقاموس الكمبيوتر Rating: 0 out of 5 stars0 ratingsPV SYST 7.4 البرنامج التعليمي لحزمة Rating: 0 out of 5 stars0 ratingsاستشراف المستقبل ركيزة الإمارات لتحقيق الجاهزية والاستباقية: الإمارات 2071 أفضل دولة في العالم Rating: 0 out of 5 stars0 ratingsالدليل العملي لمناهج البحث العلمي Rating: 3 out of 5 stars3/5chatbots - كيف تعرف كل شيء Rating: 0 out of 5 stars0 ratings
Reviews for سلسلة تعلم 100 حزمة من C# في ساعة
0 ratings0 reviews
Book preview
سلسلة تعلم 100 حزمة من C# في ساعة - رونيا
Index
أنواعالقيمةوأنواعالمرجع
النطاقاتفيC#
التعاملمعالاستثناءات
التحولالضمنيوالتحولالصريح
الكلاساتوالهياكل
الواجهاتوالتجريد
التوريثفيC#
الأساليبالمفرطةوالمعادتحميلهافيC#
الخصائصفيC#
المندلعاتوالمجمعاتفيC#
معالجةالأحداثفيC#
المعاملاتالمسماةوالاختياريةفيC#
LINQ: استخدامLanguageIntegratedQuery
تعددالخيوطوالتزامن
استخدامasyncوawait
التفويضاتوالتعبيراتاللامدة
التبعيضفيC#
المجموعاتفيC#
الكلاساتالجزئيةفيC#
التفاعلمعCOMفيC#
سلامةالنوعفيC#
الصندوقوإلغاءالصندوق
جمعالقمامةفيC#
التفتيشالنوعيفيC#
استخدامالسماتفيC#
الفصولالمجردةوالواجهاتفيC#
إعادةتعريفالأساليبفيC#
استخدامالمعاملاتبالمرجعوالخروجفيC#
الأنماطالشرطيةفيC#
التكراراتوالإرجاعاتالمبكرةفيC#
توسيعالأنواعالمعرفةمنقبلالمستخدم
معالجةالأساليبالمتزامنة
تأثيرنطاقالمتغيرات
استخدامالواجهاتالبرمجيةللتطبيقات
تحليلالكودوإعادةالهيكلة
التدقيقفيالوقتالحقيقيوالتشخيص
التوافقمعالإصداراتالسابقة
استخداممكتباتالطرفالثالث
أمانالتطبيق
نشرالتطبيقات
استخدامالنماذجالبيانيةفيC#
معالجةالأخطاءفيC#
تحسينالأداءفيC#
التوثيقوالتعليقاتفيC#
مبادئSOLID
أنماطالتصميم
كتابةالكودالقابلللاختبار
إدارةالتغييراتوالإصدارات
تكاملالنظمفيC#
الأمانوالتشفيرفيC#
اختبارالوحدةوالاختباراتالآلية
التكاملالمستمروالتوصيلالمستمر
الاعتمادعلىالحقنفيC#
التعاملمعالتكوينفيC#
الاستجابةللأخطاءفيC#
دمجمحركاتالبحثفيتطبيقاتC#
تطويرواجهاتالمستخدمفيC#
الوصولإلىقواعدالبياناتفيC#
التطويرالموجهبالسلوك (BDD)
تطويرتطبيقاتالهاتفالمحمولباستخدامXamarin
العملمعالسحابةفيC#
استخدامالتخزينالمؤقتفيC#
التعاملمعالملفاتوالمجلداتفيC#
تحديدالمواردوالاستخداماتالدوليةفيC#
تحديدالجودةوالاختبارات
الربطالديناميكيوالانعكاس
التصحيحوالمراقبة
التفاعلمعالأجهزة
التحديثاتوالصيانةالمستمرة
النسخالاحتياطيواستعادةالبيانات
التعاملمعالإشعاراتوالتنبيهاتفيC#
التعاملمعالوقتوالتاريخفيC#
التعاملمعالبياناتالماليةفيC#
استخدامالأنماطالجبريةفيتصميمالبرامج
معالجةالصوروالرسومياتفيC#
استخدامالتعبيراتالمنتظمةفيC#
التعاملمعالشبكاتفيC#
التفاعلمعواجهاتبرمجةالتطبيقاتالويبفيC#
تطويرالتطبيقاتمتعددةالمنصاتباستخدام .NETCore
الترحيلإلى .NETCore
استخدامC# فيالذكاءالاصطناعيوالتعلمالآلي
استخدامالنماذجالبيانيةوORMفيC#
الأمانفيالاتصالات
التعاملمعالمعاملاتالمالية
المحاكاةوالنمذجةفيC#
التطبيقاتالموزعةوالخدماتالصغرى
الأمانوالخصوصيةفيC#
الاستخدامالمعقولللأنماطفيC#
التعاملمعالبياناتالكبيرةفيC#
تحسينواجهاتالمستخدمالجرافيكيةباستخدامWPF
التعاملمعالبياناتفيالزمنالحقيقي
الاختباراتالوظيفيةوالتحققمنالصحة
تطويرالألعابباستخدامC#
استخدامVisualStudioلتطويرC#
المكتباتوالأطرفيC#
التحققمنالصحةوالتصحيحفيC#
إدارةدورةحياةالتطبيق
التوثيقالفنيوالتدريب
البرمجةبالنماذجفيC#
إدارةالتحدياتوالأخطاءفيC#
استخداممكتبةالأدواتالعامة (TPL)
التعاملمعالمعلوماتالحساسة
معاييرالصناعةفيC#
مبادئالبرمجةالوظيفيةفيC#
Introduction
◆
مرحبًا بكم في رحلة اكتشاف لغة البرمجة C#. إذا كنت قد بدأت للتو في تعلم C# أو تحتاج إلى تحديث معلوماتك حول الأساسيات الحيوية، فإن هذا الكتاب مصمم خصيصًا لك. في هذا الدليل، نركز فقط على المعارف الأساسية التي يحتاج كل مبرمج مبتدئ لفهمها وإتقانها لتطوير تطبيقات فعالة وحديثة باستخدام C#.
الكتاب مثالي أيضًا للمبرمجين ذوي الخبرة الذين يرغبون في استعراض وتحديث المفاهيم الضرورية في أحدث إصدارات C#. هدفنا هو تزويدك بكل ما تحتاجه من معلومات بشكل مكثف ومباشر، مما يمكنك من تعزيز مهاراتك بكفاءة وسرعة.
إذا وجدت هذا الكتاب مفيدًا، يرجى ترك تقييم وتعليقاتك. مشاركتك تساعد مهندسين آخرين في نفس الظروف للعثور على هذا الدليل والاستفادة منه. تعليقاتك تشجعنا وتدعمنا في تقديم المزيد من المواد القيمة والمفيدة في المستقبل.
1
أنواع القيمة وأنواع المرجع
في لغة البرمجة C#، يُعتبر فهم الفرق بين الأنواع القيمة (Value Types) والأنواع المرجعية (Reference Types) أساسيًا لإدارة الذاكرة بفعالية.
سأقدم مثالًا على تعريف نوع قيمة ونوع مرجعي وكيف يمكن تغيير القيم في كل منهما.
[Code]
int valueNumber = 5; // نوع قيمة
int[] referenceArray = new int[1]; // نوع مرجعي
referenceArray[0] = valueNumber; // نسخ قيمة إلى مصفوفة
valueNumber = 10; // تغيير القيمة الأصلية
––––––––
[Result]
القيم في المصفوفة لا تتغير وتظل 5.
––––––––
في المثال أعلاه، valueNumber هو متغير من نوع القيمة حيث يتم تخزين القيم مباشرة في موقع الذاكرة الذي يُخصص لهذا المتغير. عندما نقوم بتغيير valueNumber إلى 10، فإن هذا التغيير لا يؤثر على referenceArray[0] لأن القيمة في referenceArray[0] هي نسخة من القيمة الأصلية وليست القيمة الأصلية نفسها. الأنواع المرجعية مثل المصفوفات تخزن الإشارات إلى الأماكن في الذاكرة حيث تُحفظ البيانات وليس البيانات نفسها.
––––––––
[Trivia]
عند استخدام الأنواع القيمة، يتم إنشاء نسخة جديدة من القيمة كلما تم تمريرها إلى دالة أو تخصيصها لمتغير آخر. وهذا يختلف عن الأنواع المرجعية التي تمرر الإشارات إلى الأماكن نفسها في الذاكرة، مما يسمح بالتعديل المشترك للبيانات من خلال المتغيرات المختلفة.
2
النطاقات في C#
في C#، معرفة نطاق المتغيرات (Scopes) ضرورية لتجنب أخطاء برمجية قد تنجم عن الوصول غير المنتظر لهذه المتغيرات.
سأعرض كيف يمكن أن يؤدي نطاق متغير إلى أخطاء برمجية إذا لم يُدرس بعناية.
[Code]
public void ExampleMethod() {
int outerVariable = 5;
if (true) {
int innerVariable = 10;
outerVariable = innerVariable;
}
// محاولة الوصول إلى innerVariable هنا ستؤدي إلى خطأ
// Console.WriteLine(innerVariable);
}
––––––––
[Result]
سيؤدي محاولة تشغيل الكود إلى خطأ، لأن innerVariable غير متوفرة خارج الكتلة التي تم تعريفها فيها.
––––––––
في المثال أعلاه، innerVariable معرفة داخل كتلة الشرط if وبالتالي يقتصر نطاقها على هذه الكتلة فقط. محاولة استدعاء innerVariable خارج هذه الكتلة ستؤدي إلى خطأ برمجي لأن المتغير لا يُعتبر موجودًا خارج نطاقه. تعلم تحديد نطاقات المتغيرات وفهمها يمكن أن يساعد في تجنب الأخطاء المحتملة ويحسن من صيانة الكود.
––––––––
[Trivia]
النطاق يمكن أن يكون عاملاً حاسماً في تصميم البرامج بحيث يمنع تداخل البيانات ويحافظ على البيانات محمية ضمن الكتلة التي تستخدم فيها. فهم النطاق يساعد أيضا في تقليل استهلاك الذاكرة وتحسين أداء التطبيق.4
3
التعامل مع الاستثناءات
في لغة البرمجة C#، يُعد التعامل مع الاستثناءات أساسيًا لبناء تطبيقات مستقرة وموثوقة.
فيما يلي مثال بسيط يوضح كيفية استخدام جمل try, catch و finally لإدارة الاستثناءات في C#.
[Code]
try
{
int x = 10;
int y = 0;
int result = x / y;
Console.WriteLine(result);
}
catch (DivideByZeroException ex)
{
Console.WriteLine(لا يمكن قسمة أي عدد على صفر.
);
}
finally
{
Console.WriteLine(هذا الكود سيتم تنفيذه دائمًا.
);
}
––––––––
[Result]
لا يمكن قسمة أي عدد على صفر.
هذا الكود سيتم تنفيذه دائمًا.
––––––––
في الكود أعلاه، حاولنا قسمة العدد 10 على صفر، وهو ما يؤدي إلى إثارة استثناء من نوع DivideByZeroException. الكتلة catch تمسك هذا الاستثناء وتعالجه بطباعة رسالة خطأ. الكتلة finally تحتوي على كود يتم تنفيذه سواء أثير الاستثناء أم لا، مما يجعلها مثالية لتنفيذ أكواد التنظيف أو الإغلاق.
––––––––
[Trivia]
استخدام كتل finally مهم خصوصًا عند التعامل مع موارد يجب إطلاقها أو إغلاقها بشكل صحيح، مثل الملفات أو الاتصالات الشبكية.
4
التحول الضمني والتحول الصريح
معرفة الفرق بين التحول الضمني والتحول الصريح في C# هو أمر ضروري لتجنب أخطاء البرمجة المتعلقة بأنواع البيانات.
المثال التالي يبين كيفية استخدام التحول الضمني والتحول الصريح بين أنواع مختلفة.
[Code]
int myInt = 10;
double myDouble = myInt; // تحول ضمني
double anotherDouble = 9.78;
int myInteger = (int)anotherDouble; // تحول صريح
Console.WriteLine(القيمة الصحيحة: {0}
, myInteger);
––––––––
[Result]
القيمة الصحيحة: 9
––––––––
في المثال أعلاه، قمنا بتحويل متغير من نوع int إلى double بشكل ضمني دون الحاجة لكتابة أي كود إضافي، لأنه لا يوجد خطر من فقدان الدقة. ولكن عند التحويل من double إلى int، استخدمنا التحول الصريح باستخدام عملية التكاست (int) لأن هذا التحويل قد يؤدي إلى فقدان للمعلومات، في هذه الحالة فقدان الكسور.
––––––––
[Trivia]
فهم التحولات بين أنواع البيانات مهم جداً لتجنب الأخطاء البرمجية الشائعة مثل فقدان الدقة أو Overflow و Underflow الذي قد يحدث عند التعامل مع أنواع بيانات الأعداد الكبيرة أو الصغيرة.4
5
الكلاسات والهياكل
يجب على المبرمجين فهم الفروقات بين الكلاسات والهياكل وكيفية استخدام كل منهما.
الكود التالي يوضح إنشاء كلاس وهيكل في C# ويستعرض الفروقات الأساسية بينهما.
[Code]
// تعريف كلاس يمثل نقطة ثنائية الأبعاد
public class PointClass
{
public int X;
public int Y;
}
// تعريف هيكل يمثل نقطة