الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معا لأجمل دورة بأيدي عربية في ال #c

بدأه ابو بكير في 22 أبريل 2008 · 17 رد · 2,232 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الإخوة مشرفين وأعضاء الفريق العربي للبرمجة

اتمنى من الله العظيم ان تتحق أمنيت كل زوار المنتدى بأن يجدوا هذا المنتدى كوسيلة علمية للنفع والفائدة

وسوف اطرح موضوع وهو إقامة دورة متكامله في السي شارب دوت نت 2005 من الألف الى الياء ليس ذلك رغبتي انا بل ايضا رغبت كل الأعضاء حيث ارجوا من من جميع الأعضاء الفاهمين في السي شارب ان يفيدونا وينورونا مما أعطاهم الله من العلم حيث نبدأ من الصفر وماهي مشكله لو تطول الدورة شهرين اربعه شهور سنه ماهي مشكله اهم شيء نستفيد حيث اقترح ان تكون كا الآتي نقترح ان نناقش موضوع معين طبعا في السي شارب من الأساسيات الى ان نصل الى المتقدم ثم الى الإحتراف حيث يلم كل شخص بما في السي شارب من تفاصيل فعلا سبيل المثال اول شيء نناقش البيئة التي تعمل عليها السي شارب ولا ننتقل الى موضوع آخر الى أن نخلص من الموضوع الأول ثم مثلا ننتقل الى انواع المتغيرات

( ادري بتقولون هذي بسيطة وأبحث عنها لكن تأكد ان في ناس مايعرفونها وهكذا

طبعا الذي يحدد ان هذا الموضوع اشبع كامل من ناحية الشرح هو المشرف أو أي شخص فاهم

مثال آخر : مثلا ناقشنا طريقة الربط مع قواعد البيانات مثلاً كل شخص يفهم في هذا الموضوع يكتب فيه ويضع مثال أن أمكن وهكذا الى أن نعطي الموضوع تفاصيله كامله ثم يقول المشرف أو أي شخص فاهم خلاص ننتقل الى الموضوع الي بعده وهو (كذا كذا كذا ) ونناقشه

الى ان نصل الى الفائده لكي نبني اساس قوي فما رأيكم في أن نبدأ وما رأيكم في الفكرة ايضا انتوا معاي ولا لا

فأرجوا من المشرف أن يضع رأيه في الموضوع وليبدأ بسم الله الرحمن الرحيم ويضع موضوع ونناقشه

هذا ولكم جزيل الشكر والعرفان

وتذكر حديث الرسول صلى الله عليه وسلم (( إذا مات ابن آدم إنقطع عمله الا من ثلاث , ومنهم أو علم ينتفع به ))

والسلام عليكم ورحمة الله وبركاته

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#2

Inchallah yatahkek hatha al helem fi akrab forsa

#3

السلام عليكم ورحمة الله وبركاته

إن شاء الله نبدا الدورة الخاصة بالسي شارب دون نت 2005 وجمعت وكتبت لكم هذه المعلومات وهي مقدمة عن السي شارب وكما اتفقنا اي احد عنده موضوع او استفسار يتكلم قبل ما ننتقل الى الموضوع الي يليه وإذا في أحد عنده إضافات يقول بس حول المقدمه لكي نمشي على الخطى الصحيحة بإذن الله

الدرس الأول

مقدمة عن السي شارب

لقد أرادت Microsoft المشاركة في تطوير Java مع شركة SUN ولكن شركة SUN امتنعت عن هذا الشئ ورفعت دعوه قضائيه ضد شركة Microsoft مما جعل Microsoft تفكر في إنشاء لغه برمجيه تتمتع بميزات الجافا واكثر و وجدت بذور هذا الحلم في مخيلة احد مبرمجي شركة Borland فدعمت هذه الفكره وأسست فريق عمل لبناء هذه اللغة الجبارة بتزامن مع إنشاء تقنيات NET.و التي هي أيضاً أحد افكار فريق برمجي في شركة Borland فنتج عن هذا المشروع أتحاد عمالقة البرمجيات Microsoft و Borland فلغة #C كتب معظمها عن طريق مبرمجي ومطوري Borland فكتسبت نقاط القوه في اللغات القديمه مثل ++C و Java و VB وتخلصت من نقاط ضعفها وبهذه المرحله هناك تنبؤ بنهاية عصر لغة Java هذا بعتراف رسمي من شركة SUN بذكرها بأن تقنيات لغة Java قديمه بالنسبه لتقنيات #C و NET. هذه نهايه محتومه للجافا فأتحد شركة Borland صاحبة أفضل المترجمات في العالم ولا يخفى عليكم هذا مع عملاق البرمجيات Microsoft سينهي العصر الذهبي لل Java ويبداء عصر #C وتقنيات NET.

لماذا أبرمج بسي شارب ؟؟؟؟

C# هي إحدى لغات .NET من إنتاج شركة مايكروسوفت،بتعاون مع بورلاند

تم إنشائها بواسطة فريق عمل بقيادة أندرس هيجلزبرج، وقدر ركز هذا الفريق في بناء هذه اللغة على نقاط القوة في اللغات الأخرى و تجنب نقاط الضعف فيها بالإضافة إلى بعض المميزات الجديدة التي أضيفت إلى هذه اللغة..لذلك فهي تتميز بالقوة والمرونة، وكباقي لغات .NET فيمكن استخدامها لإنشاء تطبيقات سوى كان النظام Mac أم Windows أم Unix ام Linux، و وأنشاء تطبيقات الويب و أجهزة الترجمة و غيرها. وتعتمد البرمجة بالسي شارب على مفهوم البرمجة باستخدام الكائنات بصورة كاملة

لقد اتت لغة السي شارب من عائلة السي وسي بلس بلس ولكن ببعض الاختلافات وهي:

1- لقد تخلصت السي شارب من التعقيدات والمشاكل الخاصة باللغات مثل الجافا والسي بلس بلس فقد قامت بألغا المكرو والقوالب والتوارث المتعدد(تسمى لدى المبرمجين بلعنات المتعددة) وطبقات الأساس الظاهرية فهذه هي المناطق التي تظهر فيها الألتباسات لدى المبرمجين وكذلك ظهور المشاكل المعقده .

تعد لغة السي شارب لغه بسيطه جداُ لأنها تعتمد على السي والسي بلس بلس مع ترك التعقيدات وتتشابه مع هذه اللغات كثيراُ وأدخلت بعض التحسينات المهمه على هذه اللغه ومبدأ التحسينات قام على فكرتين

ا- التخلص من الأشياء الزايده الغير مهمه التي تسبب المشاكل في البرمجة وتزيدها تعقيداً مثل التوارث المتعدد (اللعنات المتعدده)

ب- أضافة تحسينات على تغيررات أضافيه في تركيب وبناء الجمل .

مثال في السي بلس بلس لها 3 معاملات للتعامل مع عناصر الكائنات والصفوف وهي(:: و . و<-) .(أما في السي شارب فقد تم أستبدال هذه المعاملات بالمعامل وحيد وهو (.) مماسهل عملية البرمجة بشكل كبير .

2- تحتوي السي شارب على أدوات حديثه لم تكن موجوده في أي لغه من قبل ألا وهي السمات

ماهي السمات ؟

لقد قام مصممي السي شارب بتظمين طريقه لم توجد في أي لغه أخرى ألا وهي السمات

السمات هي عباره عن صفوف لها خاصية ربط المعلومات على أي أوامر بالسي شارب ويمكن الحصول على هذه المعلومات أثناء التشغيل

وتتوارث السمات من صف يدعى Attribute هذا يجعلها لها خاصية ربط المعلومات كما ذكرت

وتوجد خصائص أخر للسي شارب مثل معالجتها للأستثناءت العالية الكفائه .

وهناك خصائص اخر مثال ألأحداث Event التي سهلت التعامل مع احداث form لكل من النظامين Linux , Mac

السي شارب لاتسمح بوقوع الاخطاء السخيفه .

2- السي شارب لغة برمجيه باستخدام الكائنات

من الواضح تفوق البرمجة باستخدام الكائنات على البرمجة الهيكلية كثيرا بما تسببه البرمجة الهيكلية مثل برمجة السي C صعوبة في أكشاف الأخطاء وصعوبة في الصيانة لأنها تكتب بوحدة واحده كتله من التعليمات واحده ومن أهم مميزات التي تفوقت بها البرمجة باستخدام الكائنات مثل السي شارب هي:

ا-التوارث (Inheritance ): تسمح البرمجة كائنية المنحنى بالتوارث بأن يتوارث صف من صف أخر يتوارث المميزات والاجرات التي لديه هذا يسهل من عملية البرمجة ويقلل الوقت التي تتم فيه تطوير البرمجيات

ب- الكبسله ( Encapsulation ) : هو أنشاء حزمه برمجية ما مثل إنشاء حزمة الدائرة والتي تريد كل ماتقوم به الدائرة مثل حساب نصف القطر فمن خلال كبسلة مفهوم الدائرة تجعل المستخدم يتعامل مع الدائرة كوحدة واحد وهي الدائرة .

ج- تعدد الأوجه ( Polymorphism ): هو أمكانية افتراض عدة مناهج للحالة المحتملة . يعني يمكنك استدعاء كائن واحد بطرق عديدة ومختلفة وسيتم الحصول على نفس النتيجة

مثل حساب مساحة الدائرة وفي عدة حالات قد تتوفر عدد من المعطيات مختلفة تقوم لغة السي بوضع كل حاله لها أجراء وأسم محدد أما في السي شارب فانه تضع للحالات هذه مجرد أسم واحد للإجرات التي تتعامل مع هذه الحالات وتقوم مكتبة التشغيل المشتركة باختيار الأنسب للحالة.كذلك مع استدعاء الكائنات .

ح-أعادة الاستخدام ( Abstract ) عندما تقوم بإنشاء طبقه class فأن بإمكانك أعادة استخدام هذه الطبقه في إنشاء كائنات في ما بعد في اي برنامج تريد ولا تتعب راسك بتفاصيل عمل تلك الطبقات كل ماهو تريد يتم تنفيذه على أكمل وجه مثل الترانزستر للمهندس الكهربائي يكون جاهز له لكي يتعامل معه في تركيب الدارات الاكترونيه .

مثل هذه المميزات تجعل البرمجة باستخدام الكائنات اكثر كفائه من البرمج الهيكلية ((برمجه الأطنان كما قال احد مهندسي ميكروسوفت)وهو يقصد وضع طن من الشفره عند كل كتابة برنامج في البرمجة الهيكلية)

3-السي شارب لغه كل شئ تريد أنشاءه

الشي الذي يحدك في السي شرب هو فقط خيالك أن السي شارب لاتضع عليك حدود فيما تقوم بفعله فبامكانك مع لغة السي شارب كتابة معالج كلمات والرسوميات بما فيها الألعاب وجداول البيانات وحتى برامج الترجمه لللغات الاخرى إلى انظمة التشغيل (بالنسبه للنظام القادم لمايكروسوفت Vienna مكتوب بلغة السي شارب)

4- الكلمات الأساسيه قليله

تمتاز لغة السي شارب بعدد قليل من الكلمات هذا لايدل على انها ضعيفه بل هذه احد مزايا اللغه الاهتمام بالاهم والأقوى

6- السي شارب لغه نمطيه بحيث يمكنك عند إنشاء الطبقات class كتابه أساليب الطبقه عند هذه النقطه بامكانك أعادة أستخدام تلك الاساليب وتسمى أساليب الطبقه من اعادة استخدامها في برامج اخرى وأنشاء برامج قويه في لحظات .

السي شارب لغة المستقبل

لماذ ا لأنها مدعومه من تقنية .Net الدوت نت. ولأنها اللغه الأقوى في عائلت لغات الدوت نت

ماهي الدوت نت The .NET Framework ؟

ها هو برنامج ضخم ؟ أم لغة برمجة ؟ أم خدمة يتم الإشتراك بها؟

قامت مايكرو سوفت بطرح الدوت نت بهدف جعل أجهزة الكومبيوتر و برامجه الأخرى كالطابعات والماسحات الضوئية ومواقع الويب تعمل معاً وتوفر للمستخدم حلولاً أقوى لمشكلاته، بدلاً من أن تتصل هذه الأجهزة و البرامج بالإنترنت بشكل منفصل.

الدوت نت هو عبارة عن مجموعة من تقنيات برمجية تمثل البنية التحتية و التي تسمى بـ . NET FRAMEWORK و التي تجعل المعلومات, المستخدمين , التطبيقات , و مختلف الأجهزة و الأنظمة تتصل ببعضها البعض من خلال ما يسمى بخدمات الويب web services .

Web Services :

هي مجموعة برامج يتم وضعها على الجهاز الخادم server , هذه البرامج تم بناءها بواسطة لغة XML لتسمح لمختلف التطبيقات بتبادل المعلومات بغض النظر عن اللغة التي كُتبت بها هذه التطبيقات، أو أي نظام تشغيل تعمل عليه، أو نوعية الأجهزة التي توجد عليها هذه التطبيقات.

NET FRAMEWORK :

اطار العمل .net هو مكتبة ربط ديناميكية تحوي على البنية الأساسية أي تحوي على مفسر اللغة الوسيطة واجرائيات تنفيذ اللغة المشتركة وغيرها ...

يحتوي إطار العمل على مكتبة .NET وهذه المكتبة عبارة عن أكواد جاهزة مصنفة تصنيفات مختلفة فبعضها خاص ببرمجة الشبكات وبعضها خاص ببرمجة تطبيقات الويندوز، والبعض الآخر مختص ببرمجة مواقع الويب.

ويحتوي الـ .NET FRAMEWORK أيضاً على ما يسمى بـ Common Type System(CTS) وهي عبارة عن الأنواع المتاحة للغات الـ .NET لتمثيل البيانات في ذاكرة الكومبيوتر.

ويحتوي هذا الـ FRAMEWORK أيضاً على Common Language Runtime(CLR) وهو عبارة عن محرك يقوم بتنفيذ جميع البرامج المكتوبة بأحد لغات .NET

عملية جمع القمامه (بلوكات الذاكره الضائعه):

من أهم مميزات السي شارب التزويد بأليه جباره وأمنه لجمع القمامه في وقت التشغيل خلافاً لما تفعله لغة السي بلس بلس بوضع كاهل التخلص من الكائنات على عاتق المبرمج .

لغة السي شارب لاتطلب من المبرمج عملية أدارة الكائنات في الذكره من ناحية جمع البلوكات الغير مستخدمه . تقوم السي شارب بعملية تجميع القمامه

القمامه : (البلوكات الذاكره المحجوزه سابقاً والتي لم يعد يستخدمها البرنامج )

وهذه الميز هي التي تفوقت بها السي شارب على غيرها من اللغات مثل الجافا والسي والسي بلس بلس

(تمتلك الجافا أليه لجمع القمامه ولكنها أقل كفاءة من التي تستخدمها السي شارب)

وذلك لأن عملية جمع القمامه تجنب الشيفره الكثير من الاخطاء . فالضياعات الذاكريه والمناطق الذاكريه التي لامعنى لمحتوياتها كانت تمثل مشاكل عويصه وخطيره في نفس الوقت (قد تهدد

احدا البرامج أستقرار النظام لعدم وجود أليه فعاله لجمع البلوكات كبيره الحجم من الذاكره الظائعه مما قد يتسبب في انهيار البرنامج والنظام معاً )

وتضيف لغة السي شارب امكانية التحكم في عملية جمع القمامه أيضاً مما يضفي على مبرمجي السي شارب مزيد من التحكم بالكائنات.

كيفية انشاء برامج للسي شارب :

يتم أنشاء برامج السي شارب لتشغيله بواسطة مكتبة التشغيل المشتركه Comman Language Runtime

(هذا يدل على أن برامج السي شارب لايمكن ان تنفذ إلى بوجود هذه المكتبه CLR)

ماهي فائدة انشاء برامج السي شارب تعتمد على هذه المكتبه CLR وقت التشغيل RUNTIME?

الفئده هي قابلية نقل البرنامج من بيئة إلى اخرى دون اعادة ترجمت الملفات المصدريه لسي شارب

في سي وسي بلس بلس أذا أردت كتابة برنامج يعمل على عدة منصات تشغيل تحتاج إلى ترجمة هذا البرنامج عدة مرات بحث تقوم بانشاء برنامج تنفيذي لكل بيئة تشغيل

(مثل أذا رادت كتابة ملف تنفيذي لليونكس و ويندوز فأنك سوف تجبر على ترجمة الملفات المصدريه مرتين مره لليونكس ومره للويندوز هذه في حالة اللغات مثل السي وسي بلس بلس). أم في سي شارب فأنك لا تحتاج إلى هذه الترجمة فكل ماتحتاجه هو مجرد ملف تنفيذي ترجم مره واحده فقط وهو يعمل على أي من النظاميين)(هناك حالات خاصه لاتنفذ فيها برامج السي شارب على عدة منصات مثل كتابة تطبيق للويندز يتم فيها أستدعاء لتوابع API خاصه بالويندوز هذه لايمكن تشغيلها على أي نظام أخر سوى انظمة الويندوز)

تترجم ملفات السي شارب المصدريه C# source code إلى تعليمات لغة وسطيه IL(ليست لغة الأله كما في لغات الأخراى) Intermediate Language بعد ذلك تقوم CLR بعمليات الترجمه النهائيه للبرنامج وتكوين ملف تنفيذي ذو الامتداد .exe (هذه ليس الملفات الوحيده التي يمكن بناءها هناك ملفات DLL مكتبات الربط الدينماكي وهي ملفات تستخدمها التطبيقات ويتم ربطها بالتطبيق أثناء التنفيذ فقط)

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#4

وين التفاعل شباب لكي نستمر لا تحسسوني اني أشرح لنفسي

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#5

السلام عليكم ،

اكمل اخي الفاضل و نحن متابعين و لا تجعل قلة الردود تحبطك

في انتظار المزيد

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#6

بارك الله فيك أخي على هذه الدورة , و ارجوا منك ان تكمل الدورة إلى النهاية ...

تحياتي.

#7

جزاك الله خيرا نحن متابعين لدروسك اكمل اخي ولا تتردد وضع نصب عينك حديث رسول الله صلى الله عليه وسلم:

" إذا مات ابن آدم انقطع عمله إلا من ثلاث صدقة جارية أو علم ينتفع به أو ولدٍ صالح يدعو له

تريد الفوز إضغط هنا

اشِهِدي يَا سَمَـا وَاكْتُبَنْ يا وُجـودْ

إنَّـنَـا للِحـمَـا سَنَكُونُ الجُـنُـودْ

فـنَـزيحْ البَـلاَ وَنَـفُـكُّ الْقُيُـودْ

ونَنيلُ الـرِّضـا مِنْ وَفَّى بِالعْهُـودِ

الشيخ عبد الحميد ابن باديس

#8

السلام عليكم ورحمة الله وبركاته

سيكون إن شاء الله الدرس القادم عن المتغيرات أنواعها وأهميتها

فلست أنا من سيلقي الدورة أساسا انما هي مشتركة للجميع فأي احد عنده مشاركه عن هذا الموضوع فقط فليتفضل وأنا سابدأ الشرح قريبا

وشكرا

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#9

السلام عليكم

بارك الله فيك و زادك علما اخي أبو بكر معلومات جيدة

و انا سأشارك بمقدر المستطاع ان شاء الله

يوجد ايضا بالسي شارب

Interface : و هذا المقصود منه ليس واحهات البرنامج من نوافذ او الشكل الخرجي للبرنامج

بل هو عبارة عن Class من نوع Interface

و يتصف بأنه قادر على التوريث و لكن لا يرث

و انه يمكن ان تكتب بداخلة عدد غير محدد من الوظائف Function دون أن تكتب اي شئ بداخل هذه الوظائف , أي فقط تعرف أسمها و تعرف البارامترات اذا كان ذلك مطلوبا

و يستخدم هذا النوع من اجل تورثة الى اكثر من كلاس و بداخل هذا الكلاس الجديد يتم كتابة و تشغيل الوظيفة الموروثة من InterFace

مثال :

interface  MainInterface
	{
		void fun1(float x, float y);
		int fun2(int x,int y);
		bool fun3(decimal d, int w);
		decimal fun4(bool b, int x);
	}

	class Class1:MainInterface
	{
		#region MainInterface Members

		public void fun1(float x, float y)
		{
			throw new NotImplementedException();
		}

		public int fun2(int x, int y)
		{
			return x - y;
		}

		public bool fun3(decimal d, int w)
		{
			throw new NotImplementedException();
		}

		public decimal fun4(bool b, int x)
		{
			throw new NotImplementedException();
		}

		#endregion
	}

لا حظوا أنه في InterFace تم فقط تعريف الوظائف و في الكلاس الاخر تم تشغيل هذه الوظائف

طبعا و يمكنك ان تنشئ كلاس ثاني و تورثة من interFace و تشغل الوظائف الموجودة فيه و لكن بطريقة اخرى ثانية

و الله في عون العبد ما دام العبد في عون أخيه

#10

:rolleyes:

ماشاء الله موضوع جميل

لكن نحتاج الى التنظيم وانا هادخل معاكم ونشرح اللى نقدر عليه بإذن الله

لكن خلينا الاول نحط جدول كده صغير ونمشى عليه افضل

#11

السلام عليكم

نرجو من الاخ الذي قام بطرح الفكرة أن يضع لنا بنود أو خطة للدورة لكي نمضي و نسير بخط واضح

اي على سبيل المثال

1- معلومات عامة حو ل اللغة

2- أنواع المتغيرات و استخدامتها

3- أنواع الكلاسات

4- انواع الوظائف

5-..................

و الله في عون العبد ما دام العبد في عون أخيه

#12

انا معكم جزاكم الله خيرا على هذا المجهود فانا فى امس الحاجه لتعلم السى شارب هذه الايام فأرجو الا تحرمونا هذا الخير الجميل

ويريت لو تقولولنا هتبدا الدوره امته فانا فى امس الحاجه لها فى عملى الجديد

ولكم لكل الفضل

Aeronautical Engineer

Ahmed Shawki El Sayed

Ahmed.Shawki83@gmail.com

Ahmed-Shawki@hotmail.com

#13

السلام عليكم ورحمة الله وبركاته

شكرا لكم على التفاعل واتمنى ان تحقق الدورة اهدافها وشكرا لكل من شارك بالنسبة للمواضيع التي سوف نشرحه في الدروس القادمه هي :

1 - انواع المتغيرات في السي شارب

2 - انواع الكلاسات

3 - ماهي الوظائف وأنواعها

4 - الوراثة وكيف تتم

5 - ماهو الـ object

6 - الفرق بين Heap و الــ Stack

7 - شرح بسيط لواجهة السي شارب 2005

8 - ماهو الـ Thread وكيف نستخدمه

9- الأحداث في السي شارب Events وكيف الوصول اليها

10 - .......................

هذا وكل موضوع مستقل لا أحد يشرح موضوع قبل الثاني وأنا الي فهمته من الأخوه انه انا الذي سوف اشرح كل هذه النقاط بل من لديه خبره في هذه النقطة فليتفضل وانا اليوم سوف اشرح انواع المتغيرات .

فكلنا محتاجين لمثل هذه الدوره , والدورة هي بادية فعليا لكن انشغلت في اليومين الأخيرين لضروف عائلية , هذا ولكم جزيل الشكر

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#14

السلام عليكم ورحمة الله وبركاته

إن شاء الله سوف نشرح انواع المتغيرات في السي شارب وهي كالتالي :

المتغير : يستخدم المتغير لحفظ قيمة معينه في الذاكرة بحيث يمكن استخدامها لاحقا في البرنامج حيث تحجز مساحه في الذاكره على حسب نوع المتغير كما هو موضح في الجدول

802337-6.jpg

طريقة تعريف المتغيرات :

لابد أن نعرف حاجة في البداية الا وهي الـ Namespace والـ class فماهما ؟

الـ Namespace هو عباره عن منطقة العمل التي نكتب فيها البرنامج حيث يضم كلاس class او اكثر من كلاس classes وهو من أجل عملية التنظيم في كتابة البرنامج لا أقل ولا أكثر حيث لايمكن ان نكتب كود داخل الـ Namespace بل يكتب داخل الكلاس , وممكن ان نضع Namespace بداخل Namespace آخر .

الـ Class هو عبارة عن المنطقة الفعلية التي يتم كتابة الأكواد بداخلها , ونعطيه اي اسم نريده بشرط أن لا يبدأ برقم أو لايكون الأسم كلمة محجوزة , ولا يمكن ان نضع كلاس بداخل كلاس اخر

مثال على هذا عند فتح لغة السي شارب 2005 وعملنا مشروع جديد وسميناه school ثم عملنا فورم جديد اسمه student فإن الكود يكون كالتالي

Namespace  school
{
class  student
{
}
}

ولتعريف المتغير نكتب اولا نوع المتغير ثم مسافه ثم اسم المتغير ( مع مراعاة انه لايبدأ برقم ولا يكون من الكلمات المحجوزة ولا يحتوي على فراغات) ومثال :

VariableType VaraibleName;

Int x;

String name;

Float y;

حيث يتم تعريف المتغيرات في منطقة الكلاس فقط وليس قبل الكلاس , وممكن ان نعرفه داخل Function كما في المثال التالي :

class MyClass

{

int MyIntegerVariable;

static void Main()

{

float AnotherVariable;

System.Console.WriteLine("Hello!");

}



وممكن ان نسند قيمة اولية للمتغير كالتالي :

public static void Main()

{

int MyVariable = 123;// متغير من نوع رقم صحيح ولايقبل الفاصله العشريه

float MyVariable = 1.25;// متغير من نوع رقم صحيح ويقبل الفاصله العشريه

string myname="Arab Team 2000 ";//متغير من نوع نص ويجب ان يوضع بين تنصيصين

char MyVariable = 'a';// متغير من نوع حرف واحد فقط او رقم واحد فقط ويجب ان يضع بين فاصلتين علويتين

ملاحظة : القيمة الإفتراضية للمتغيرات هي صفر والـ bool هي false

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#15

شدو حيلكم فى الشرح يا شباب

Aeronautical Engineer

Ahmed Shawki El Sayed

Ahmed.Shawki83@gmail.com

Ahmed-Shawki@hotmail.com

#16

جهد رائع ومقدر

متابع

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#17

فعلا دورة جميلة ...... بارك الله في الأخ الذي طرح هذه الدورة.وفي جميع المشاركين ...

#18

العمليات على المتغيرات

لجمع عددين صحيحين نستخدم علامة الجمع (+) كالتالي :

int x=6;
int y=5;
int result=x+y;

وهكذا باقي العمليات الحسابية الأساسية.

لاحظ المثال التالي

public static void Main()
{
int MyVariable = 123;
float MyVariable = 1.25;
}

هنا سوف تظهر رسالة خطأ بأنه لا يمكن ان نعرف متغيرين بنفس الأسم وووووووو في نفس البلوك فيكون الصح هو

public static void Main()
{
int MyVariable = 123;
}
public void AnotherFunction()
{
float MyVariable = 1.25;
}

لاحظ هذا المثال:

char MyCharacter;
string MyString = "Hello from C#!";
MyCharacter = MyString[9];

في المتغير الأول من نوع حرف واحد والمتغير الثاني من نوع نص ثم وضع في المتغير الأول الحرف الذي ترتيبه 9 من المتغير النصي اي ممكن ان نعتبر ان المتغير النصي كالمصفوفه

وللجمع بين متغيرين نصين نعمل كالتالي:

string firstname="Abdulaziz";
string lastname="saeed";
MessageBox.show("my first name is" + firstname + "my last name is  " + lastname);

التحويل بين المتغيرات

هناك نوعين من التحويل implicit و explicit

الــــ implicit

تدعم لغة السي شارب التحويل بين المتغيرات فهناك انواع تتحول تلقائيا اي تتأقلم تلقائيا كأن احول من int الى long فليس هناك مشكله فاليك المثال التالي اذا كان لديك متغير من نوع int ولديك دالة تريد متغير من نوع long فبدل ماتسوي متغير جديد حول الي عندك الـ Int

int IntegerVariable;
long LongVariable;
IntegerVariable = 123;
LongVariable = IntegerVariable;

الــ explicit

هناك انواع اخر لا تتحول بالطريقة السابقة فهنا لابد من كتابة نوع المتغير الذي نريد ان نحوله بين قوسين واليكم المثال التالي :

char CharacterVariable;
int IntegerVariable;
IntegerVariable = 9;
CharacterVariable = IntegerVariable;

عند تنفيذ الكود السابق تظهر رسالة خطأ التالية

error CS0029: Cannot implicitly convert type 'int' to 'char'

فالمثال التالي هو المثال الصحيح لطريقة استخدام الـ explicit

char CharacterVariable;
int IntegerVariable;
IntegerVariable = 9;
CharacterVariable = (char)IntegerVariable;

واليكم الجدول التالي يوضح انواع المتغيرات التي ممكن نحول اليها

802505-4.jpg

تم تعديل هذه المشاركة بواسطة ابو بكير في 7 مايو 2008 في 15:06

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

مواضيع مشابهة