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

السي شارب خطوة خطوة ... للمبتدئين والمتقدمين

بدأه العسيري 2007 في 13 يونيو 2007 · 44 رد · 17,579 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اللهم لا علم لنا الا ما علمتنا انك انت العليم الحكيم

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

أولا : (مقدمة في السي شارب )

#c وتقرأ كالتالي سي شارب c sharp ، هي عبارة عن لغة برمجة مثل باقي لغات البرمجة المعروفه ، تعطي الكمبيوتر مجموعة اوامر فينفذها ، وتستخدم في جميع بيئات نظم التشغيل مثل ماكروسوفت ويندوز ، الينكس ، الماكنتوش وغيرها ، وتعتبر لغة السي شارب احدى اللغات التي تعمل تحت منصة مايكروسوفت دوت نيت microsoft.net ( كما نعرف ان هذة المنصة عبارة عن مكتبة متكامله من الكائنات .... سوف نتكلم عنها لاحقاً إن شاء الله ) .

* الكائنات object :

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

في لغات البرمجة فإن الكائن يدعى كلاس class .

في لغة السي شارب ، الكلاس تعتبر مهمة جداً ، لذلك فإن هذة اللغه دائما تبدأ بكلمة class وهي عبارة عن بداية كائن برمجي معين ... ( اكيد فاهمين ان شاء الله ) .

مثال : class

دائما بعد ان تكتب الكلاس يتبعه اسم لهذا الكلاس ( اي اسم يعجبك ) بعدها يتبعه هذة الاشارة} وينتهي بهذة الاشارة}

مثال : class prog

}

{

في داخل هذا الكلاس يكون هناك مجموعه من الكائنات الجزئية subobject وتدعى بالميثود method .

أشهر ميثود موجود في لغة السي شارب هو static void main ولا تسألني وش معناها وليش نحطها لاني راح اقلك لا تستعجل على رزقك راح تجيك بعدين بس افهمها على انها بداية البرنامج الي راح انا بأسوية اوكيه ..... ؟

يجب ان انوه هنا ان برنامج السي شارب عندما يحفظ كملف فانه سوف يحفظ كملف بامتداد cs اختصارا ل c sharp .

ثانيا : بناء برنامج بسيط بلغة السي شارب :

في البداية يجب تنزيل برنامج الـ Microsoft Visual CMicrosoft Visual C# او برنامج Visual Studio .NET من الانترنت او من الاقراص .

1- ابدأ بتشغيل البرنامج

2- في القائمة الرئيسية اضغط على ملف ->جديد->مشروع او file -->new-->project ( انا ما راح اترجم بعد الان المفروض الجميع يعرف ان file معناها ملف )

3- يظهر لك صندوق على اليسار مكتوب نوع المشروع اختار visual c# project وعلى اليمين نوع القالب اختار empty project .

4- غير الاسم تحت الاسم الي تبية وغير مسار الحفظ .

5- اضغط اوكيه ثم اضغط على main menue --> project-->add new item وذلك لانشاء source code اي شفرة البرنامج .

6- يظهر لك صندوق آخر اختار من لجهة اليمنى code file .

7- غير الاسم الي تحت الي تبيه .بعدها اضغط فتح .

تظهر لك مساحه فاضية اكتب التالي :

class OrderProcessing { static void Main() { } }

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

main menue --> debug -->start without debugging راح تظهر شاشة سوداء ويدل على انه تنفذ البرنامج بنجاح .

انتهى الدرس الاول

اريد اشوف تفاعل معاي علشان اكمل معاكم

تحياتي

1
#2

أكمل وفقك وهداك إلى الطريق المستقيم

بإنتظار باقى الدروس

وفقنا الله وإياكم لما يحبه ويرضاه

تم تعديل هذه المشاركة بواسطة Abdallah_AMA في 13 يونيو 2007 في 01:54

الحمد لله الذى هدانا لهذا وما كنا لنتهتدى لولا أن هدانا الله

#3

عندي ملاحظه .. ياليت تكتب الأكواد بإستخدام خاصية ( الكود ) الموجوده في الصندوق السحري هذي صورتها rte-code-button.png , عشان يسهل قرائة الأكواد للمبتدئين ..

واصل الدورس ونحن معك ان شاء الله ..

#4

شكرا للاخوين على الرد والتفاعل :

الان نكمل الدروس :

الدرس الثاني : namespaces

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

الـ namespaces هو عبارة عن جزء من كود البرنامج ويعرف بإسم خاص له ويكون هذا الاسم اي اسم يريدة المبرمج مثلا اسمه الشخصي او اسم الشركة وهكذا ... وشكله كالتالي :


{
}
namespace arabteam2000

بين الاقواس الكبيرة الموضحه بعاليه تستطيع كتابة اي شي على سبيل المثال تستطيع كتابة class بداخل هذة الاقواس مثال :


{
class student
{
}
}
namespace arabteam2000

مثال على إنشاء namespace وبداخلها class :


{
class student
{
static void Main()
{
}
}
}
namespace arabteam2000

نفذ هذا البرنامج كما تعلمنا من الدرس الاول وسترى النتيجه .

طيب لو اردنا الوصول الى كلاس class داخل namespace أخرى من كلاس class خارجي ( اكيد فهمتوني والي ما فهم يشوف هالمثال )

لو عندنا هالمثال :


{
class Departure
{
}
}

class MainClass
{
static void Main()
{
Accounting.Departure
}
}
namespace Accounting

لاحظ من الكلاس class الثاني الذي اسمة mainclass هناك ميثود method هي عبارة عن استدعاء للكلاس class الاول والذي اسمه Departure لاحظ عندما استدعينا وضعنا اسم namespace اولا ثم نقطة ثم اسم الكلاس class هكذا ( Accounting.Departure ) . ( مفهومة ان شاء الله ) .

طيب لو عندنا namespace داخل namespace أخرى ، تخيل ذلك ، طيب قد يسألني أحدكم لماذا هذا التعقيد ولم نظطر لتعلم ذلك انا اخبركم لماذا ؟

لو فرضنا انك كبير المبرمجين في شركة كبرى وطلب منك المدير ان تعمل برنامج للحسابات ، لو فرضنا ان هالبرنامج بيشتغل فيه اكثر من مبرمج واجبرك المدير ان تكون جميع اكواد البرنامج تحت مسمى الحسابات اي تحت namespace الخاص بالحسابات فالحل هنا ان نضع لكل مبرمج namespace خاص به داخل ال namespace الرئيسي فتصبح لدينا عدة namespace داخل الـ namespase الخاص بالحسابات ( ان شاء الله فهمتو ، والي ما فهم يشوف هالمثال )


{
namespace ahmad
{
}
}
namespace Accounting

لاحظ ان الـ namespace والي اسمها ahmad داخل الـ namespace والي اسمها Accounting ، طبعاً تستطيع تضع داخل كل namespace الميثود method والابجكت object الذي تريدة ، وللوصول لأي كلاس class داخل اي namespace خارجية مثل ما تعلمنا سابقاً

نضع اسم الـ namespace ثم نقطة ثم اسم الكلاس class وهذا مثال شامل على ذلك :


{
class Payroll
{
}
}
namespace Personnel
{
namespace EmployeesRecords
{
class TimeSheet
{
}
}
namespace Benefits
{
class MedicalInsurance
{
}
}
}

class MainClass
{
static void Main()
{
Accounting.Payroll
Personnel.Benefits.MedicalInsurance
Personnel.EmployeesRecords.TimeSheet
}
}
namespace Accounting

ملاحظة مهمة جدا ( استعنت ببعض مواقع الانترنت في بعض الامثله وترجمت بعض المفاهيم وذلك للامانه العلمية )

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

=================================================================================

* namespace الخاصة بالنظام system namespaces :

لجعل البرمجة في لغة السي شارب سهله جدا هناك مكتبة متكاملة من الكلاس class ومخزنه في namespace مختلفه ، اكثر namespace استخداما في لغة السي شارب هي system namespace في داخل هذة الـ namespace هناك كلاس class وهو مشهور ايضا لكثرة استخدامه في هذة اللغه واسمه Console ويستخدم هذا الكلاس class في عرض المعلومات على شاشة الدوس DOS window او قراءة البيانات من المستخدم . ( ان شاء الله فاهمين ، يعني الشغله كلها الى الان namespace وكلاس class مش صعبه صح ، وعلى فكرة اذا فهمت هذي الباقي سهل لان هذي اساس تركيب اللغه ولازم نفهمها ) .

قلنا فوق ان من ضمن وظائف الكلاس class الي اسمها console عرض البيانات على الشاشة ، طيب الـ console زي ما قلنا كلاس class وليست ميثود method ، اذن لازم هناك ميثود method تحت الكلاس هي المسئوله عن الكتابه والجميع تحت الـ namespace الي اسمها system يا رب فاهمين هذي النقطة ) .

الميثود method المسئولة عن الكتابة هي write ، واليكم هذا المثال حتى تتضح الصورة اكثر :


{
class OrderProcessing
{
static void Main()
{
System.Console.WriteLine("Georgetown Cleaning Services");
}
}
}
namespace GeorgetownCleaners

لاحظ بدأنا بإسم الـ namespace ( مين يتذكرها ) وبعدها بإسم الكلاس ( برضه مين يتذكرها ) وبعدين بدينا كود البرنامج بجملة static void Main وبعدها وهذا الي يهمني كتبنا الجملة التالية :

System.Console.WriteLine("Georgetown Cleaning Services");

system اسم الـ namespace الخاص بالنظام ، console اسم الكلاس ، writeline اسم الميثود method وهو خاص لطباعة ما بين الاقواس على الشاشة ( راح نشرح الفرق بين write و writeline فيما بعد بإذن الله ) .

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

اما الان حان وقت الصلاه أستأذنكم وسوف نستمر في دروسنا بإذن الله

تحياتي ،،،، ( العسيري )

#5

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

#6

إلى الأمام أخوي العسيري

تحياتي لك

#7

الدرس الثالث : الامر USING :

قبل البدء في هذا الدرس اود توضيح الفرق بين WRITE و WRITELINE :

الفرق بسيط جدا :

WRITE تطبع ما بين الاقواس على الشاشة ويبقى المؤشر او ما يسمى CURSOR على نفس السطر .

WRITELINE تطبع ما بين الاقواس على الشاشة وينتقل المؤشر للسطر الثاني .

للتوضيح اليكم المثال التالي :


{
class csharp
{
static void Main()
{
System.Console.Write("welcome to arabteam2000");
}
}
}
namespace arabteam2000

نفذ البرنامج السابق كما تعلمنا من الدرس الاول ( الي ما يعرف كيفية تنفيذ البرنامج يراجع الدرس الاول ، والي برضة ما عرف يسألني وما احد يستحي ) .

لاحظ انه عند تنفيذ البرنامج السابق يبقى المؤشر في نفس السطر ، الان اريدك ان تعدل كلمة write واستبدلها بـ writeline ونفذ البرنامج ولاحظ الفرق ( تمام ان شاء الله كل شي واضح ) .

نرجع لدرسنا الدرس الثالث وهو الامر using :

كما عرفنا سابقا من الدرس الثاني اننا عندما نريد استدعاء امر معين او ميثود method او كائن object وكان هذا الميثود او الكائن جزء من الـ namespace فإننا سوف نستخدم اسم namespase ثم نضع نقطة ثم اسم الكلاس class ثم نقطة ثم اسم الميثود method وهذا مثال على ذلك :

System.Console.WriteLine("welcome to arabteam2000");

إختصارا اذا كنت تعرف اسم الـ namespace وانها موجوده مسبقاً ، فإنك تستطيع إستخدام كلمة محجوزة ضمن لغة البرمجة السي شارب وهي كلمة using وتوضع هذة الكلمة في بداية البرنامج وفائدتها انني اختصر على نفسي في كل مرة كتابة اسم namespace في كل أمر او تعليمة ( والي ما فهم يشوف هالمثال ) :



namespace arabteam2000
{
class csharp
{
static void Main()
{
Console.WriteLine("welcome to arabteam2000");
}
}
}
using System;

لاحظ اننا عرفنا في بداية البرنامج using system وبالتالي استغنينا عن استخدام كلمة system في التعليمة console.writeline ، طبعا لـ using استخدامات كثيرة ومهمه خاصة اذا كان البرنامج كبير جدا وسوف يستفيد منها المبرمج كثيرا وسوف نعرف كثير من تفاصيلها لاحقاً بإذن الله تعالى .

ارجو تنفيذ الكود السابق والنظر الى النتيجة . ( والي ما يعرف ينفذ كود او اين يكتبه يكتب لي وانا اوضح له ) .

======================================================================================================

* التعليقات comments :

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

هناك نوعان من التعليقات في لغة البرمجة سي شارب :

النوع الاول :التعليقة التي يكون في سطر وحيد ( التعليقة الصغيرة ) وشكلها كالتالي :

// This line will be ignored. I can write in it anything I want

لاحظ تبدأ من اليسار بـ // وكل ما يقع في يمين هذة العلامه فإن المترجم compiler سوف يهملها ولا يعيرها اي اهتمام .

النوع الثاني : التعليقة التي يكون في اكثر من سطر ( التعليقة الكبيرة ) وشكلها كالتالي :


and welcome to arabteam2000*/
/* This line will be ignored. I can write in it anything I want

مثال على ذلك :

اكتب البرنامج التالي :


// Purpose: Used to process cleaning orders for customers

using System;

// Orders and business-related operations will be performed here
namespace GeorgetownCleaners
{
class OrderProcessing
{
static void Main()
{
Console.WriteLine("Georgetown Cleaning Services");
}
}
}
// Project Name: Exercise

أكرر التعليقات لا ينظر لها المترجم compiler ابداً بل هي موضوعه للمبرمجين لتوضيح بعض أجزاء البرنامج . ( ان شاء الله فهمتو ) .

إنتهى الدرس الثالث ، وان شاء الله في الدرس القادم سوف نبدأ في موضوع جديد ومهم جدا وهو موضوع المتغيرات Variables ، تعريفها وانواعها وطرق استخداماتها .

ارجو من القراء الكرام المزيد من التفاعل .

تحياتي ( العسيري )

#8

a;vh ;jdااااااشكرا كتيييييير عن جد استفدت كتييييير من الدروس .. ونحن بانظار المزيد

#9

شكرا للاخت على الرد والتفاعل .

الدرس الرابع : المتغيرات Variables :

مقدمه //

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

اسماء المتغيرات //

هناك مجموعه من القواعد يجب اتباعها عن تسمية متغير ما ، واي خرق لهذة القواعد يعتبر خطأ برمجي ولا يمكن تنفيذ البرنامج حتى يتم اصلاح هذا الخطأ والقواعد هي :

1- اسم المتغير يجب أن يبدأ بحرف او إشارة _ والمعروفه بـ underscore .

2-بعد اول حرف او اندرسكور من اسم المتغير بالإمكان وضع حروف و ارقام او اندرسكور .

3- يجب ان لا يحتوي اسم المتغير على اية رموز مثل * او % او $ وغيرها ما عدا اشارة الاندر سكور _ .

4-يجب ان لا يحتوي اسم المتغير على مسافة .

5- يجب ان لا يكون اسم المتغير من ضمن الكلمات المحجوزة للغة البرمجه مثل using او if او class .

ملاحظة مهمه جداً ( لغة البرمجة سي شارب حساسة للاحرف ، وهذا يعني ان كلمة Case مختلفة عن كلمة case وايضا الجميع مختلف عن كلمة CASE . )

انواع البيانات وطريقة استخدامها //

لتعريف اسم متغير معين في برنامج السي شارب نكتب التالي :

DataType VariableName;

حيث datatype هي نوع المتغير ( وسوف نراها لاحقاً ان شاء الله ) و variablename هي اسم المتغير وهو اسم يضعه المبرمج كيفما شاء بشرط ان نطبق علية الشروط السالف ذكرها ، يتم وضع هذة الجمله بعد جملة static void main() ، ويتبعها دائما اشارة الفاصله المنقوطة كما سنرى . ( اكيد ان شاء الله فاهمين ) .

الحرف Characters //

وهذا النوع الاول من انواع البيانات ويعرف بـ char ، ويتحمل حرف او رمز او رقم واحد فقط ( ملاحظة الرقم لا يعتبرة رقم عددي ولكن يعتبر انه حرف ، راح تفهمونها بعدين ان شاء الله ) اي ان سعته التخزينية هي 8 بت فقط وغير ذلك ينتج خطأ برمجي ، نوضح لكم بالمثال التالي :



class ObjectName
{
static void Main()
{
char Gender = 'M';

Console.Write("Student Gender: ");
Console.WriteLine(Gender);
}
}
using System;

هنا عرفنا متغير بإسم Gender ونوعه char ، ووضعنا له قيمة اولية وهي M ، لاحظ اننا وضعنا القيمة M بين علامتي تنصيص ' ' ، اذا نفذنا البرنامج السابق سوف ينتج معنا التالي :

Student Gender: M

الـ byte //

هذا النوع الثاني من انواع البيانات ، ويعرف البيانات الرقمية التي ليس لها إشارة ( + او - ) ، وهذة البيانات الرقمية تكون بين 0 الى 255 ، بحيث تستطيع تخزينها في واحد بايت ، ويستخدم هذا النوع من المتغيرات عندما تكون متأكد كمبرمج ان حدود المتغير لا تزيد عن 255 ولا تنقص عن صفر اي انه وضع للاعداد الصحيحة الصغيرة . ( طبعاً البعض يقول لماذا هذا التعقيد ولماذا لا يضعون نوع بيانات موحد لجميع المتغيرات الرقمية ؟ ارد عليهم واقول ان احد فنون البرمجه هي وضع النوع الصحيح للمتغير الصحيح فلو انك وضعت نوع بيانات long لمتغير اعرف مسبقاً ان بياناته لا تتعدى 255 ، فإنني حجزت موقع في الذاكرة كبير جدا لهذا المتغير بينما انا في الواقع لا احتاج الا لـ 8 بت فقط ،تخيل التالي انك استأجرت شاحنه مرسيدس كبيرة ووضعت بها صندوق صغير واحد فقط ونقلت هذا الصندوق بواسطة هذة الشاحنه من الرياض الى جدة !!!! فهمتو ... لا تعليق )

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

مثال :



class ObjectName
{
static void Main()
{
Byte Age = 14;

Console.Write("Student Age: ");
Console.WriteLine(Age);
Age = 12;
Console.Write("Student Age: ");
Console.WriteLine(Age);
}
}
using System;

عند تنفيذ البرنامج السابق ينتج معنا التالي : ( اكيد الكل يعرف كيف ينفذ البرنامج ) :


Student Age:12
Student Age:14

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

مثال آخر : اكتب البرنامج التالي ومن ثم نفذة ولاحظ النتيجه :



namespace GeorgetownCleaners
{
class OrderProcessing
{
static void Main()
{
byte NumberOfShirts;
byte NumberOfPants;

NumberOfShirts = 4;
NumberOfPants = 1;

Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("========================");
Console.WriteLine("Item Type Qty");
Console.WriteLine("------------------------");
Console.Write("Shirts ");
Console.WriteLine(NumberOfShirts);
Console.Write("Pants ");
Console.WriteLine(NumberOfPants);
Console.WriteLine("========================");
Console.WriteLine();
}
}
}
using System;

النتيجة كالتالي :


========================
Item Type Qty
------------------------
Shirts 4
Pants 1
========================
-/- Georgetown Cleaning Services -/-

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

ملاحظة ( استعنت ببعض المواقع وبعض الكتب وبعض المنتديات وذلك للامانه العلمية )

تحياتي ( العسيري )

#10

البايت ذي الاشارة Signed Byte //

النوع الثالث وهو البايت ذي الاشارة وهو نفس النوع السابق ولكن الفرق بينهما ان النوع السابق يكون المتغير فيه بدون اشارة اي انه عدد صحيح موجب من الصفر الى 255 ولكن هذا النوع يكون عدد قد يكون موجب وقد يكون سالب في هذة لحالة يجب ترك خانه خاصة بالاشارة وهي بت واحد اذن يتبقى معنا 7 بت اي ان حدود هذا النوع من المتغيرات من -128 حتى + 127 ، لتعريف هذا المتغير نضع الكلمة المحجوزة sbyte ثم اسم المتغير ، اليكم هذا المثال حتى يتضح المفهوم اكثر :



class NumericRepresentation
{
static void Main()
{
sbyte RoomTemperature = -88;

Console.Write("When we entered, the room temperature was ");
Console.WriteLine(RoomTemperature);
Console.WriteLine();
}
}
using System;

عند تنفيذ هذا الكود ينتج التالي :

When we entered, the room temperature was -88

في هذا المثال لاحظ الفرق بين write و writeline ..

==========================================================================================================

الاعداد الصحيحة القصيرة Short Integers //

النوع الرابع من انواع تعريف البيانات هو short وحجمه 2 بايت اي 16 بت ، وهو يعرف الاعداد الصحيحة الصغيرة ذات الاشاره ، ومداها من –32768 وحتى 32767 ، وطبعاً هذا النوع يتحمل اكثر من النوع السابق byte لذلك نستخدمة في الاعداد الكبيرة سبياً ، انظر للمثال التالي ونفذة :



class NumericRepresentation
{
static void Main()
{
short NumberOfPages;
short Temperature;

NumberOfPages = 842;
Temperature = -1544;

Console.Write("Number of Pages of the book: ");
Console.WriteLine(NumberOfPages);
Console.Write("Temperature to reach during the experiment: ");
Console.Write(Temperature);
Console.WriteLine(" degrees\n");
}
}
using System;

عند تنفيذة ينتج التالي :


Temperature to reach during the experiment: -1544 degrees
Number of Pages of the book: 842

ملاحظة مهمه ( بما أن نوع البيانات short يتسع لاعداد اكبر من نوع البيانات byte ، فإن اي نوع بيانات byte تستطيع تلقائيا تعرفه بنوع البيانات short "" فهمتوووووو "" .)

==========================================================================================================

الاعداد الصحيحة الصغيرة غير ذوات الاشارة Unsigned Short Integers //

النوع الخامس وهو ushort ، اي انك اذا كنت تضمن ان المتغير عدد صحيح صغير الى متوسط وموجب الاشارة فإن هذا النوع هو انسب نوع لتعريف متغيرك ، ومدى هذا النوع من انواع البيانات بين صفر حتى 65535 ، اي ما يعادل 2 بايت اي 16 بت ( لاحظ ان النوع السابق يستخدم 15 بت فقط والبت السادس عشر يستخدم للاشارة بينما هذا النوع يستخدم 16 بت كاملة لتمثيل الرقم لانه لا يحتوي على اشارة ) . اليكم هذا المثال :



class NumericRepresentation
{
static void Main()
{
// These variables must hold only positive integers
ushort NumberOfTracks;
ushort MusicCategory;

NumberOfTracks = 16;
MusicCategory = 2;

Console.Write("This music album contains ");
Console.Write(NumberOfTracks);
Console.WriteLine(" tracks");
Console.Write("Music Category: ");
Console.Write(MusicCategory);
Console.WriteLine();
}
}
using System;

عند تنفيذ الكود السابق ينتج التالي :


Music Category: 2
This music album contains 16 tracks

اليكم ايضاً هذا المثال المتكامل والرجاء من الجميع ملاحظة هذا المثال سطر سطر واي واحد يصعب علية شي يخبرني :



class GeorgetownCleaningServices
{
static void Main()
{
ushort NumberOfShirts;
ushort NumberOfPants;
ushort NumberOfDresses;

NumberOfShirts = 4;
NumberOfPants = 0;
NumberOfDresses = 3;

Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("========================");
Console.WriteLine("Item Type Qty");
Console.WriteLine("------------------------");
Console.Write("Shirts ");
Console.WriteLine(NumberOfShirts);
Console.Write("Pants ");
Console.WriteLine(NumberOfPants);
Console.Write("Dresses ");
Console.WriteLine(NumberOfDresses);
Console.WriteLine("========================");
Console.WriteLine();
}
}
using System;

عند تنفيذ الكود السابق ينتج التالي :


========================
Item Type Qty
------------------------
Shirts 4
Pants 0
Dresses 3
========================
-/- Georgetown Cleaning Services -/-

==========================================================================================================

الاعداد الصحيحة ذوات الاشارة Signed Integers //

النوع السادس من انواع تعريف البيانات هو الـ int سعته التخزينية 32 بت اي 4 بايت ، ويستخدم هذا النوع في الاعداد الكبيرة نسبياً ، ومدى هذا النوع بين –2,147,483,648 حتى 2,147,484,647 ، اليكم هذا المثال :



class NumericRepresentation
{
static void Main()
{
int CoordX;
int CoordY;

CoordX = 12;
CoordY = -8;

Console.Write("Cartesian Coordinate System: ");
Console.Write("P(");
Console.Write(CoordX);
Console.Write(", ");
Console.Write(CoordY);
Console.WriteLine(")\n");
}
}
using System;

عند التنفيذ ينتج التالي :

Cartesian Coordinate System: P(12, -8)

=========================================================================================================

الاعداد الصحيحة غير ذوات الاشارة Unsigned Integers//

النوع السابع ويعرف بالكلمة المحجوزة uint ، ويخزن الاعداد الصحيحة الموجبة فقط ، سعته 32 بت اي 4 بايت ، ومدى هذا النوع بين صفر حتى 4,294,967,295 ، انظر للمثال :



class NumericRepresentation
{
static void Main()
{
uint DayOfBirth;
uint MonthOfBirth;
uint YearOfBirth;

DayOfBirth = 8;
MonthOfBirth = 11;
YearOfBirth = 1996;

Console.WriteLine("Red Oak High School");
Console.Write("Student Date of Birth: ");
Console.Write(MonthOfBirth);
Console.Write("/");
Console.Write(DayOfBirth);
Console.Write("/");
Console.Write(YearOfBirth);
Console.WriteLine();
}
}
using System;

عند التنفيذ ينتج التالي :


Student Date of Birth: 11/8/1996
Red Oak High School

==========================================================================================================

نصل الان الى نهاية درسنا لهذا اليوم اتمنى من الجميع الفائدة ، مع انني لا ارى اي تفاعل معي ،،،

ملاحظة ( استعنت ببعض الكتب وبعض مواقع الانترنت وبعض الدروس في بعض المنتديات وذلك للامانه العلمية )

تحياتي ،،،، العسيري

#11

شباش شباب شباش ..

الله يوفقكم وينور طريقكم ...

#12

مجهود رائع ، تحياتى لك.

#13

لماذا لا تجد يا اخى تفاعل ؟

الحمد لله انا فاهمه الى الان .... وعن جد ما ادرى كيف اشكر حضرتك .. من بضع ايام قرأت كتاب (لم اكمله بعد) لكنى لم اكن افهم بعض اشياء فيه والان فهمتها من شرح حضرتك .. جزاك الله كل خير

#14

شكرا للاخت على التفاعل وان شاء الله اكون عند حسن ظنك ، وشكرا للاخوان الباقين ،،،،

==========================================================================================================

النوع الثامن : الاعداد الصحيحة الكبيرة جدا Long Integers //

وتستخدم في تخزين الاعداد الصحيحة الكبيرة جدا وسعتها 64 بت اي 8 بايت ، وتعرف بالكلمة المحجوزة long ، ومدى هذا النوع بين –9,223,372,036,854,775,808 وحتى 9,223,372,036,854,775,807 . ( على فكرة غير مطلوب منك حفظ هذا الرقم ولكن حتى تأخذ فكرة فقط عن السعة التخزينية الهائله لهذا النوع ) .

انظر للمثال :



class NumericRepresentation
{
static void Main()
{
long CountryArea;
f
CountryArea = 5638648;

Console.Write("Country Area: ");
Console.Write(CountryArea);
Console.Write("km2\n");
}
}
using System;

عند التنفيذ ينتج التالي :

Country Area: 5638648km2

ملاحظة ( في السي ++ هذا النوع من البيانات سعته التخزينية 32 بت ، بينما في السي شارب سعته 64 بت ) .

ملاحظة أخرى ( لا يجب عليك استخدام هذا النوع من البيانات اذا كان المتغير الذي تعرفه صغير ، وذلك حتى لا تستهلك مساحة كبيرة في الذاكرة لا داعي لها )

==========================================================================================================

النوع التاسع : الاعداد الصحيحة الكبيرة جدا غير ذوات الاشارة Unsigned Long Integers //

ويستخدم في الاعداد الصحيحة الكبيرة جدا غير ذوات الاشارة وسعتها 64 بت ومداها بين صفر حتى 18446744073709551615 ، لاحظ الفرق بين سعتها وسعة الذي قبلها من يستطيع يقول لي لماذا ؟؟؟ ، وتعرف بالكلمة المحجوزة ulong .

==========================================================================================================

النوع العاشر : الاعداد الحقيقية الصغيرة float //

الاعداد الحقيقية تعني الاعداد ذوات الارقام العشرية مثل 7.4 ، وتعرف بالكلمة المحجوزة float ومداها بين ±1.5 × 10−45 ±3.4 × 1038 ، انظر المثال :



class NumericRepresentation
{
static void Main()
{
float Distance;
}
}
using System;

==========================================================================================================

النوع الحادي عشر : الاعداد الحقيقية الكبيرة نسبيا Double-Precision Numbers //

وتمثل الاعداد الحقيقية الكبيرة نسبيا ، وتعرف بالكلمة المحجوزة double ، ومداها ±5.0 × 10−324 ±1.7 × 10308 ، انظر المثال :



class NumericRepresentation
{
static void Main()
{
double StudentAge;

StudentAge = 14.50;


Console.Write("Student Age: ");
Console.Write(StudentAge);
Console.WriteLine();
}
}
using System;

عند التنفيذ ينتج التالي :

Student Age: 14.5

=======================================================================================================

النوع الثاني عشر : الاعداد الحقيقية الكبيرة جدا Decimal //

ويعرف بالكلمة المحجوزة decimal ، ويعرف الاعداد الحقيقية الكبيرة جدا ، انظر المثال :



class NumericRepresentation
{
static void Main()
{
decimal HourlySalary;

HourlySalary = 24;

Console.Write("Hourly Salary = ");
Console.WriteLine(HourlySalary);
Console.WriteLine();
}
}
using System;

عند التنفيذ ينتج التالي :

Hourly Salary = 24

=========================================================================================================

تنويه // عندما نريد تحديد قيمة ابتدائية للمتغيرات الحقيقية بتعبير آخر Initializing a Real Number ، فيجب وضع حرف f او F على يمين الرقم المراد وضعه للمتغير هذا بالنسبة للـ float ، ونفس الشي بالنسبة للـ double و decimal ، نضع d او D للـ double و m او M للـ decimal ، وذلك للتأكد من ان المتغير يتم ادخاله ومعالجته على اساس نوع البيانات المتعلق به .

انظر لهذا المثال لمزيد من التوضيح :



class NumericRepresentation
{
static void Main()
{
float Distance;

Distance = 248.38F;

Console.Write("Distance = ");
Console.Write(Distance);
Console.WriteLine("km\n");
}
}
using System;

Distance = 248.38km

ملاحظة ( جرب تعدل البرنامج السابق واحذف حرف F سوف يظهر عند خطأ )

==========================================================================================================

النوع الثالث عشر : المتغير المنطقي البولياني boolean //

ويتحمل قيمتين فقط true او false ، ويعرف بالكلمة المحجوزة bool . انظر المثال :



class NumericRepresentation
{
static void Main()
{
bool Distance;

Distance =true;

Console.Write("Distance = ");
Console.WriteLine(Distance);

}
}
sing System;

نفذ البرنامج السابق حتى تحصل على النتيجة .

=========================================================================================================

النوع الرابع عشر : النصوص Strings //

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

"Welcome to the World of C# Programming!"

، انظر لهذا المثال الشامل :



namespace GeorgetownCleaners
{
class OrderProcessing
{
static void Main()
{
string CustomerName;
string CustomerHomePhone;

ushort NumberOfShirts;
ushort NumberOfPants;
ushort NumberOfDresses;

decimal PriceOneShirt;
decimal PriceAPairOfPants;
decimal PriceOneDress;

uint OrderDay;
uint OrderMonth;
uint OrderYear;

double MondayDiscount;

CustomerName = "Gregory Almas";
CustomerHomePhone = "(301) 723-4425";

NumberOfShirts = 1;
NumberOfPants = 1;
NumberOfDresses = 1;
OrderDay = 15;
OrderMonth = 7;
OrderYear = 2002;
PriceOneShirt = 0.95M;
PriceAPairOfPants = 2.95M;
PriceOneDress = 4.55M;
MondayDiscount = 0.25; // 25%

Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("========================");
Console.Write("Customer: ");
Console.WriteLine(CustomerName);
Console.Write("Home Phone: ");
Console.WriteLine(CustomerHomePhone);
Console.Write("Order Date: ");
Console.Write(OrderMonth);
Console.Write('/');
Console.Write(OrderDay);
Console.Write('/');
Console.WriteLine(OrderYear);
Console.WriteLine("------------------------");
Console.WriteLine("Item Type Qty Sub-Total");
Console.WriteLine("------------------------");
Console.Write("Shirts ");
Console.Write(NumberOfShirts);
Console.Write(" ");
Console.WriteLine(PriceOneShirt);
Console.Write("Pants ");
Console.Write(NumberOfPants);
Console.Write(" ");
Console.WriteLine(PriceAPairOfPants);
Console.Write("Dresses ");
Console.Write(NumberOfDresses);
Console.Write(" ");
Console.WriteLine(PriceOneDress);
Console.WriteLine("------------------------");
Console.Write("Monday Discount: ");
Console.Write(MondayDiscount);
Console.WriteLine('%');
Console.WriteLine("========================");
Console.WriteLine();
}
}
}
using System;

نفذ الكود السابق وانظر للنتيجة ، وارجو ان تلاحظ هذا الكود سطر سطر حتى تراجع معلوماتك .

===========================================================================================================

الان استأذنكم ، وسوف نكمل لاحقا بمشيئة الله تعالى ،،،،

تحياتي ،، العسيري

#15

شكرا على الشرح ..لكن الجزء بتاع الf ,m,d مش فاهمه ليش نضعها وامتى بالضبط

#16

شكرا جزيلا لاهتمامك بالدروس

عموما ان شرحك جميل جدا لهذا البرمجة

اتمنى ان تستمر بالعمل الجيد والمتابعة

واود ان اسئل ماهي المدة التي تضع بها الدروس وذلك من اجل ان اقوم بالمتابعة وشكرا جزيلا لك

هاني

سوريا

#17

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

الاخ هاني شكرا للاطراء ،،،

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

العسيري

#18

النوع الثالث عشر : الوقت والتاريخ Dates and Times //

التاريخ هو تمثيل عددي بياني يعرف عدد السنوات والشهور والايام في اسلوب معين الجميع من كبشر يعرفه من سنه اولى ابتدائي وهو على سبيل المثال 01/01/2005 ولكن الكمبيوتر لا يعرف هذا الاسلوب او هذة الطريقة الا اذا وضعت نوع بيانات جديد وهذا النوع الجديد اسمه DateTime ، الوقت نفس الشي هو تمثيل عددي بياني يعرف عدد الساعات والدقائق والثواني ، عموما لا نطيل في الحديث عن تفصيلات هذا النوع وندخل في المثال :



class NumericRepresentation
{
static void Main()
{
DateTime DateHired;
}
}
using System;

==========================================================================================================

النوع الاخير : نوع الكائن Objects

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



class Exercise
{
static void Main()
{
object Whatever;
}
}
using System;

===========================================================================================================

وبهذا نكون انتهينا من المتغيرات وانواعها جميعا ارجو ان الكل فهم واتمنى منكم دعوة في ظهر الغيب لي ولوالدي بالشفاء .

==========================================================================================================

درس جديد ( العمليات واساسيات بناء اللغة ) Operators and Operands //

اولا : الفاصلة المنقوطة Semi-Colon; //

وهي عبارة عن اشارة رمزية توضع في نهاية كل امر او عملية او تعريف متغير وذلك للدلاله على نهاية هذا الحدث ( إن شاء الله فهمتو ) ، طبعا هناك استخدامات اخرى لهذة الاشارة وسوف نراها بمشيئته تعالى في دروس متقدمة وبالذات في الـ for loop التكرارية ، انظر هالمثال :

using System;

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

===========================================================================================================

ثانيا : الاقواس الكبيرة Curly Brackets { } //

تعتبر الاقواس الكبيرة الاكثر استخداما في لغة السي شارب ، وتستخدم في تقسيم الكود البرمجي الى اقسام عدة فمثلا كود الـ NAMESPACE له اقواس لوحدة وكود الـ CLASS وهكذا ، ويستخدم ايضا في العمليات الشرطية IF STATMENT واخواتها ، انظر للمثال :



class Exercise
{
}
using System;

==========================================================================================================

ثالثا : الاقواس الصغيرة Parentheses ( ) //

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

========================================================================================================

الان وصلت لنهاية درس اليوم نكمل غدا ان شاء الله

في امان الله

تحياتي

العسيري

#19

شكرا جزيلا لردك واهتمامك

اود ان اقترح اقتراح بسيط واتمنى ان تكون هناك امثلة برمجية نستفيد نحن منها بشكل اكثر

شكرا جزيلا مره اخرى واتمنى لوالدك الشفاء العاجل

هاني

#20
hani78 كتب:
شكرا جزيلا لردك واهتمامك

اود ان اقترح اقتراح بسيط واتمنى ان تكون هناك امثلة برمجية نستفيد نحن منها بشكل اكثر

شكرا جزيلا مره اخرى واتمنى لوالدك الشفاء العاجل

هاني

انا واضع امثلة كثيرة في الدروس ، لكن اذا كنت تقصد مشروع متكامل لتطبيق عملي فارجو ان تنتظر الى اخر الدروس لانني اريد ان اعطي الدروس خطوة خطوة حتى يستطيع المبتدوؤن السير معنا بكل سهولة وبدون تسرع ،،، تحياتي لك

#21

رابعا : الفاصله Comma , //

تستخدم الفاصله في فصل مجموعه من المتغيرات لها نفس النوع من البيانات ، كما تستخدم ايضا في فصل مجموعه من المعطيات في الميثود method وسوف نراها لاحقاً بمشيئته تعالى .

انظر للمثال :



namespace GeorgetownCleaningServices
{
class OrderProcessing
{
static void Main()
{
string CustomerName, HomePhone;
uint NumberOfShirts, NumberOfPants, NumberOfDresses;
decimal PriceOneShirt, PriceAPairOfPants, PriceOneDress;
uint OrderMonth, OrderDay, OrderYear;
double MondayDiscount;
}
}
}
using System;

==========================================================================================================

خامسا : اشارة المساواه The Assignment = //

عند تعريف متغير ما فإنه يتم حجز مكان خاص لهذا المتغير في الذاكرة ، هذا المكان في الذاكرة يكون خالي من البيانات حتى يتم ادخال قيمة فيه ، لوضع هذة القيمة في هذا المتغير نستعمل إشارة المساواه = وذلك حتى يحصل المتغير على هذة القيمة كالتالي :

VariableName = Value

انظر للمثال التالي :


{
class Exercise
{
static void Main()
{
decimal Salary;

// Using the assignment operator
Salary = 12.55M;
}
}
}
namespace Operations

طبعا عندما يحصل المتغير على القيمة العددية او غيرها ( حسب نوع المتغير ) فإنك تستطيع عرض قيمة هذا المتغير عن طريق الامر Write او WriteLine ، انظر للمثال :


{
class Exercise
{
static void Main()
{
decimal Salary;

// Using the assignment operator
Salary = 12.55M;
System.Console.Write("Employee's Hourly Salary: ");
System.Console.WriteLine(Salary);
}
}
}
namespace Operations

عند التنفيذ ينتج التالي :

Employee's Hourly Salary: 12.55

نفذ المثال التالي وتابعه سطر سطر وانظر النتيجه :



namespace GeorgetownCleaningServices
{
class OrderProcessing
{
static void Main()
{
string CustomerName, HomePhone;
uint NumberOfShirts = 5,
NumberOfPants = 2,
NumberOfDresses = 0;
decimal PriceOneShirt = 0.95M,
PriceAPairOfPants = 2.95M,
PriceOneDress = 4.55M;
uint OrderMonth = 3, OrderDay = 15, OrderYear = 2002;
double MondayDiscount = 0.25; // 25%;

Console.WriteLine();
}
}
}
using System;

سادسا : علامة الاقتباس الفردية Single-Quote ' //

وتستخدم في اعطاء القيمة الابتدائية لمتغير من نوع char ، او إسناد قيمة لمتغير من نوع char انظر للمثال :



class Exercise
{
static void Main()
{
char Gender;
string FirstName, LastName, FullName;

Gender = 'M';
}
}
using System;

==========================================================================================================

سابعا : علامة الاقتباس المزدوجة Double-Quotes " //

ويستخدم في تحديد قيمة متغير من نوع string ، ممكن ان تكون هذة القيمة اكثر من حرف وقد تحتوي على مسافة او حروف او ارقام او رموز ، كما تستخدم هذة العلامه في تحديد النص الموضوع في الامر write او writeline . انظر للمثال :



namespace GeorgetownCleaningServices
{
class OrderProcessing
{
static void Main()
{
string CustomerName = "James Burreck",
HomePhone = "(202) 301-7030";
uint NumberOfShirts = 1,
NumberOfPants = 1,
NumberOfDresses = 1;
decimal PriceOneShirt = 0.95M,
PriceAPairOfPants = 2.95M,
PriceOneDress = 4.55M;
uint OrderMonth = 3, OrderDay = 15, OrderYear = 2002;
double MondayDiscount = 0.25; // 25%;

Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("========================");
Console.Write("Customer: ");
Console.WriteLine(CustomerName);
Console.Write("Home Phone: ");
Console.WriteLine(HomePhone);
Console.Write("Order Date: ");
Console.Write(OrderMonth);
Console.Write('/');
Console.Write(OrderDay);
Console.Write('/');
Console.WriteLine(OrderYear);
Console.WriteLine("------------------------");
Console.WriteLine("Item Type Qty Sub-Total");
Console.WriteLine("------------------------");
Console.Write("Shirts ");
Console.Write(NumberOfShirts);
Console.Write(" ");
Console.WriteLine(PriceOneShirt);
Console.Write("Pants ");
Console.Write(NumberOfPants);
Console.Write(" ");
Console.WriteLine(PriceAPairOfPants);
Console.Write("Dresses ");
Console.Write(NumberOfDresses);
Console.Write(" ");
Console.WriteLine(PriceOneDress);
Console.WriteLine("------------------------");
Console.Write("Monday Discount: ");
Console.Write(MondayDiscount);
Console.WriteLine('%');
Console.WriteLine("========================");
Console.WriteLine();
}
}
}
using System;

نفذ هذا الكود وانظر للنتيجه .

=========================================================================================================

ثامنا : الاقواس المستطيله Square Brackets [ ] //

وأغلب استخدامات هذا النوع من الاقواس فيما يسمى بالمصفوفات التي سنراها لاحقا ان شاء الله ، انظر للمثال :



namespace CSharpLessons
{
class Exercise
{
static void Main()
{
double[] number = new double[5];

number[0] = 12.44;
number[1] = 525.38;
number[2] = 6.28;
number[3] = 2448.32;
number[4] = 632.04;

Console.WriteLine();
}
}
}
using System;

===========================================================================================================

سوف نكمل غدا ان شاء الله

تحياتي ،، العسيري

#22

جيد ..

مع اني كنت ابي تفاصيل اكثر عن الاوبجيكت المتغير ..

وماقلت شي عنه ابد ومادخلت الا عشانه :(

#23
StUd_C كتب:
جيد ..

مع اني كنت ابي تفاصيل اكثر عن الاوبجيكت المتغير ..

وماقلت شي عنه ابد ومادخلت الا عشانه :(

حبيبي عندما يحين وقته سوف اشرحه بالتفصيل بمشيئته تعالى ولكن الان اعطيتكم رؤوس اقلام فقط عن المتغير object وذلك لغاية في نفس يعقوب وهي عدم اختلاط المفاهيم ولخبطة المبتدئين ، الذين هم من اولوياتي في وضع هذة الدروس ، تابع الدروس وان شاء الله ترى ما يسعدك ، تحياتي ( العسيري )

#24

شرح ممتاز .. جزاك الله خيرا وشفى والديك ان شاء الله

#25

تاسعا : إشارة الموجب The Positive Operator + //

الاعداد الجبرية تستخدم مجموعه من القواعد وذلك حتى نستطيع تصنيف الأرقام ، من ضمن هذة القواعد قاعدة الموجب والسالب والصفر ، الموجب للاعداد التي فوق الصفر اي ( 3،2،1 ... ) والسالب للاعداد التي تحت الصفر اي ( -1،-2،-3...) ، والصفر يأتي بلا إشارة في الوسط ( وذلك لانه صفر اي لا شي اي لا قيمة الله فلو وضعت له موجب او سال فهو اصلا لاشي - خوفي يزعل علي اخونا الصفر بعد الهجاء هذا - ) .

بالنسبة للاعداد فوق الصفر كما قلنا هي موجبة الاشارة ، ولعمل ذلك نضع اشارة موجب ( + ) على يسار الرقم ، مثلا ( +12 ) .

كما تعلمنا في الرياضيات فانه لا داعي لكتابة اشارة موجب ( + ) على يسار الرقم وذلك لانه من المعروف بديهيا ان الرقم موجب ، كذلك في لغة السي شارب عندما نعطي امر طباعه لرقم موجب فانه يعرض هذا الرقم بدون اشارة ( اكيد فهمتوووووووو ، والي ما فهمش يشوف المثال ) .



class Exercise
{
static void Main()
{
// Displaying an unsigned number
Console.Write("Number = ");
Console.WriteLine(+802);
}
}
using System;

عند التنفيذ ينتج التالي :

Number = 802

=========================================================================================

عاشرا : إشارة السالب The Negative Operator - //

عكس الحالة السابقة ، فانه في حالة الرقم السالب فانه يجب وضع اشارة سالب ( - ) على يسار الرقم في حالة الكتابه وفي حالة القراءة ، مثال -12 ، -90 وهكذا ، تذكر انه في حالة ان الرقم بدون اشارة فان النظام يعتبره رقم موجب مباشرة ، انظر المثال



class Exercise
{
static void Main()
{
// Displaying an unsigned number
Console.Write("First Number ");
Console.WriteLine(+802);
// Displaying a negative number
Console.Write("Second Number ");
Console.WriteLine(-802);
}
}
using System;

عند التنفيذ ينتج التالي :


Second Number -802
First Number  802

===========================================================================================

انا اسف يا اخوان الوقت لدي ضيق جدا جدا ، سوف اضطر الان الى إنهاء الدرس ، وان شاء الله نكمل غدا ، انا اسف مرة اخرى لقلة الدروس ولكن اعدكم بانني سوف اعوضكم بدرسين في اليوم بمشيئة الله ،،،

تحياتي ،،، العسيري

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