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

تعلم السي شارب بالعربي خطوة خطوة

مغلق
بدأه التابعي في 4 فبراير 2006 · 10 رد · 8,245 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أولآ : مقدمة

تعد لغة سي شارب (C#) من أحدث لغات البرمجة وهي أحد ضمن مجموعة فيجوال ستوديو Visual Studio.Net وقد تم الأعلان عن Visual Studio.Net فى يونيو 2000 .

• تشعيل البرنامج :

Start –Programs-Microsoft Visual Studio.Net - Microsoft Visual Studio.Net

تظهر الشاشة الأفتتاحية للبرنامج ويمكننا منها إما أنشاء مشروع جديد(New Project) أو فتح مشروع منشأ من قبل (Open Project) وبما أننا سوف نقوم بأنشاء مشروع جديد فصغط علي الزرNew Project

فتظهر شاشة New Project من الناحية اليسري نختار نوع اللغة المستخدمة فى المشروع (Project Types) وبالطبع ستكون

Visual C# Projects ومن الناحية اليمني نختار قالب المشروع (Templates) وسوف نختار ""Console Application وتعني الشاشة السوداء ، حيث تظهر النتائج على شاشة Dos ثم الزر موافق فتظهر بيئة العمل وتكون

using System;  
namespace Hello World
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
  /// <summary>
  /// The main entry point for the application.
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
  //
  // TODO: Add code to start application here
//
 	 }
	}
}

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

فى السطر الاول تخبر المترجم باستخدام الفصائل التي تقع في المكتبة

namespace وهى System

فى السطر الثاني اريد انشاء مكتبة اسمها Hello World ثم وضع قوس للبداية وللنهاية {}

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

ثم بعد ذلك اخبر المترجم انني اريد انشئ فصلية اسمها Class1 ثم وضع قوسين للبداية وللنهاية {}

ثم بعد ذلك يتم كتاب الكود الخاص بالمبرمج بعد الدالة الرئيسية

المثال الأول :

أكتب التالي بين قوسين الدالة الرئيسية بهذا الشكل

static void Main(string[] args(
{
	Console.WriteLine("Hello World");
}

ثم أضعط على الزر Ctrl + F5 او F5 فيظهر النتيجة على الشاشة السوداء

Console.WriteLine() تستخدم لطباعة الرسائل وتوضع الرسالة بين علامتي تنصيص " " وتنتهي الجملة بالفصلة المنقوطة ;

ولاحظ اختلاف الأحرف الكبير عن الصغير فى اللغة

ملحوظة عند الصعظ علي F5 لان تستصيع ان تراي النتيجة لان النافذة تختفي بسرعة لذلك استخدم Ctrl + F5 .

ولكن اذا ارد الضعط علي F5 فقط اكتب السطر التالي بعد الطباعة وهو

Console.ReadLine();

وهذه الجملة تجعل الشاشة ظهره حتي تصعط اي زر

الكود كامل

Console.WriteLine("Hello World");

Console.ReadLine();

بذلك نكون انتهينا من اول مشروع لنا بسي شارب

•التعليقات Comments :

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

1- تعليق لسطر واحد ويكون بهذا الشكل

//تعليق من سطر واحد

2- تعليق لعدة أسطر يكون بهذا الشكل

/*

تعليق لعدة أسطر

*/

جرب المثال السابقة واكتبة بهذا الشكل ولاحظ ماذا حدث

//Console.WriteLine("Hello World");
Console.ReadLine();

جرب المثال السابقة واكتبة بهذا الشكل ولاحظ ماذا حدث

/*
Console.WriteLine("Hello World");
*/
Console.ReadLine();

___________.doc

تم تعديل هذه المشاركة بواسطة bashmohandes في 4 فبراير 2006 في 16:42

#2

:D السلام عليكم

مشوار الف ميل يبدء بخطوة ارجو ان يكون الدرس السابق قد افاد ونحن الان مع الدرس الثاني

ثانيا : أنواع البيانات Data Type

تنقسم انواع البيانات في السي شارب الي :-

1- بيانات معرفة و مبنية فى اللغة وهي التالية

2- بيانات يقوم المبرمج ببنائها

النوع و المساحة التي تحجز فى الذاكرة

(8 bits) byte

(8 bits)sbyte

(16 bits)short

(16 bits)ushort

(32 bits)int

(32 bits)uint

(64 bits)long

(64 bits)uloang

(32 bits)float

(64 bits)double

(128 bits)decimal

(16 bits)char

(8 bits) bool

(16 bits) string

معني إضافة حرف (U) الي النوع معناه Unsigned اي يمثل بيانات موجبة

والنوع الذي لا يحتوي علي حرف (U) معناه signed يمثل بيانات موجبة وسالبة

المتغيرات Variables

هي عبارة عن مكان يتم تخزين البيانات فيه علي الذاكرة وحتي لا نطيل فى الكلام نبدء العملي

مثال 1:

static void Main(string[] args(
{
	String Message;
Message = " Hello World ";
	Console.WriteLine(Message);
Console.ReadLine();
}

قمنا بحجز متغير علي الذاكرة اسمه Message ونوعه نصي String يحجز 16 bits

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

String Message = " Hello World ";

ثم بعد ذلك نقوم بطبع قيمة المتغير ولا تنسا الفصلة المنقوطة بعد كل جملة

مثال 2:

static void Main(string[] args(
{
   int Frist = 5;	
   int second = 5;
   int values;

   values = Frist + second;
   Console.WriteLine("the value Frist + second = " + values);
   Console.ReadLine();
}

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

لا تنسونا من صالح دعائكم والسلام عليكم

ConsoleApplication1.rar

ConsoleApplication2.rar

#3

عظيم اخي ولكن اعتقد ان اغلبيت الشباب في هذا المنتدي يمتلكون هذه الاساسيات

لاتحسبن المجد تمرا انت اكلهوا.... لن تبلغ المجد حتى تلعق الصبرا

ومن يتهيب صعود الجبال ...:::... يعش أبد الدهر بين الحفر

"وَيَا قَوْمِ اسْتَغْفِرُوا رَبَّكُمْ ثُمَّ تُوبُوا إِلَيْهِ يُرْسِلِ السَّمَاءَ عَلَيْكُمْ مِدْرَارًا وَيَزِدْكُمْ قُوَّةً إِلَى قُوَّتِكُمْ وَلَا تَتَوَلَّوْا". (أيه 52 سورة هود)

أَمَرَ بِالِاسْتِغْفَارِ الَّذِي فِيهِ تَكْفِير الذُّنُوب السَّالِفَة وَبِالتَّوْبَةِ عَمَّا يَسْتَقْبِلُونَ وَمَنْ اِتَّصَفَ بِهَذِهِ الصِّفَة يَسَّرَ اللَّه عَلَيْهِ رِزْقه وَسَهَّلَ عَلَيْهِ أَمْره وَحَفِظَ شَأْنه وَلِهَذَا قَالَ " يُرْسِل السَّمَاء عَلَيْكُمْ مِدْرَارًا "

وَفِي الْحَدِيث" مَنْ لَزِمَ الِاسْتِغْفَار جَعَلَ اللَّه لَهُ مِنْ كُلّ هَمّ فَرَجًا وَمِنْ كُلّ ضِيق مَخْرَجًا وَرَزَقَهُ مِنْ حَيْثُ لَا يَحْتَسِب ".

(تفسير ابن كثير)

#4

السلام عليكم أخي علي المصري

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

وقد ذكرت في البدية ان هناك كثير يتعلمون ولا يهتمون بالأساسيات ويقفزون الي الامام ولكنه هو للخلف ولو علما الناس ان البناء لا يقوي ويرتفع الا اذا كان الاساس متين وانت معي فيما اقول ام لا اعلم انك تقول نعم لذلك هذا هو هدفي من البدية الي النهاية خطوة خطوة بإذن الله

السلام عليكم وجزاك الله خيرا

#5

جوزيت خيرا .......... وزوجت بكرا ( يأخ التابعي)

ونرجو الإكمال............................................

#6

السلام عليكم مع الدرس الثالث

لكن قبل بدء الدرس اشكر الاخ الممتاز واقول انت ممتاز وكلمك معسول وجميل

ثالثا: المؤثرات Operatorsتنقسم المؤثرات الي الانواع التالية

1- حسابية وهي ( + , - , * , / , % , ++ , --)

int a = 5;
int b = 2;
int c;

c = a + b              //5 + 2 = 7
c = a – b             //3
c = a * b             // 10
c = a / 5
c = a % 2           // تعني باقي القسمة اي 5 علي 2 باقي القسمة يساوي 1

مثال :

int  a = 5;
Console.WriteLine(a);                 // a = 5
a++;                                              //يتم زيادة واحد الي القيمة 
Console.WriteLine(a);                // a = 6
a --;                                              // يتم نقص واحد من القيمة الحالية
Console.WriteLine(a);                // a = 5

Console.ReadLine();

ولكن ركز معي ولا تسرح بإذن الله بسيطة

int  a;
int  b = 2;
a = b++;
Console.WriteLine(a);                // a = 2
Console.WriteLine(b);                // b = 3

a = b++ تعني a تساوي قيمة b ولكن قبل زيادة ال b++ بواحد لذلك تكون a تساوي 2 و b تساوي 3 بعد اضافة واحد الي هنا جميل ولكن ركز

int  a;
int  b = 2;
a = ++b;
Console.WriteLine(a);                // a = 3
Console.WriteLine(b);             //b = 3

هنا a تساوي قيمة ++b بعد الأضافة فقيمة b تساوي 3 و a تساوي 3

مثال : لتوضيح جمع المتغيرات

static void Main(string[] args(
{
    string FristName = "Alaa";
    string LastName = "Mohamed";

Console.WriteLine("the FullName  : " + FristName +  "  " +        LastName);
   Console.ReadLine();
}

السطر الأول حجز في متغير نصي قيمة ثم السطر الذي بعده متغير نصي حجز به قيمة ثم يتم طبع القيم من الجملة التي تحدثنا عنها

الجملة الموضوعة بين علامتي تنصيص تتم طباعتها كما هي مكتوبة

ثم يتم جمع الجملة مع القيمة المحجوزة في المتغير الأول الذي بداخلة Alaa

ثم يتم جمع مسافة فارغة للفصل بين القيمتان ثم يتم جمع القيمة المحجوزة في المتغير الثاني فتكون كذلك

the FullName : Alaa Mohamed

ثم نقوم بوقوف الشاشة حتي تصغط اي زر

2- العلائقية والمنطقية

أ- العلائقية وهى (< اقل من , > اكبر من , <= اقل من او يساوي ,

>= اكبر من او يساوي , != لا يساوي , = =)

ولكن يحضر علي ذهنك سؤال معنا (=) و (= =) لاحظ

= تستخدم لتخصيص قيمة لمتغير

int a = 10;

= = تستخدم للمقارنة بين قيمتان ترجع true او false

If (a = = 10)

مثال :

int  a = 2;
if (a = = 2)
Console.WriteLine("true");
Console.ReadLine();

القيمة المرجعة صحيحة لذلك تيم طبع true غير القيمة المقارنة وانظر ماذا حدث

لم يطبع شئ وذلك الذي سوف نتعرف علية عما قريب عن حالات الجملة الشرطية if اذا لم يحدث كذا افعل كذا واذا حدث كذا افعل كذا ولا تستعجل في الامر خطوة خطوة

ب – المنطقية وهي (& , | , ! , && , || )

ركز معي الامر بيسط الجدول التالي يسهل علينا إن شاء الله

!A A | B A & B B A

True True False False False

False True False False True

True True False True False

False False True True True

في حالة (& AND ) كل الحدود False ماعدا (True True & ) = True

مثال

(1+2 = = 3) & (3 + 4 = = 6)

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

الاول صحيح True

الثاني خطأ False

فتصبح القيمة هكذا

True & False = False

لماذا فالحد الاول صحيح ارجع للجدول تجد كل الحدودFalse ماعدا (True True & )

فى حالة ( | OR) كل الحدود True ماعدا (True True & ) = False

نأخذ نفس المثال السابق

(1+2 = = 3) | (3 + 4 = = 6)

ما قرارك في هذا نعم هو ذلك لماذا لان

الحد الاول صحيح True

الحد الثاني False

فتصبح القيمة هكذا

True | False = True

في حالة ( ! NOT) يعكس ناتج المقارنة

مثال

(1 + 2 = = 4)

False

لكن مع استخدام Not تكون الناتجة True

اما بالنسبة (&& , ||) عملهم كعمل (& , | ) الفرق هو عند استخدام & ينظر الي الحد الاول ثم ينظر الي الحد الثاني

اما عند استخدام && ينظر الي الحد فيراه False فيرجع False دون النظر للحد الثاني

بمعنا انظر للمثال

False && True

نعلم ان مع & كل الحدود False ماعدا (True True & ) فاذا وجد اول حد False

فالعقل يقول يرجع False ولا ينظر للحد الثاني

وذلك ايضا مع || فاذا كان الحد الاول True فلا ينظر الي الحد الثاني

3- المؤثرات علي مستوي البت وهي (ازاحة لليمين وازاحة لليسار)

مثال

int  a = 8;
int y;
y = x>>1;
قيمة y = 4

لان 8 بالنظام الثنائي 1000

وعند الازاحة لليمين بمقدار 1 تكون 100 في النظام الثماني تساوي 4 الجدول يوضح ذلك

النضام الثنائي النظام العشري

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

بذلك نكون قد انتهينا من الدرس نرجو الايفادة منه

ولا تنسونا من صالح دعائكم والسلام عليكم ورحمه الله وبركاتة

____________.rar

#7

السلام عليكم مع الدرس الرابع

ونرجوان تكون الدروس السابقة قد تم منها الايفادة

الجمل الشرطية : Conditional Statements

تشتمل علي نوعين هما (if - switch)

الجملة if وحالتها : وتنقسم الي ثلاث حالات

1- الجملة if

الصيغة

   if(Condition) Statement

مثال :

int  a = 5;
if  (a == 5)
Console.WriteLine("yes");
Console.ReadLine();

قمنا بتعريف متغير يحمل قيمة وفي السطر الثاني وضعنا شرط

اذا كان قيمة المتغير تساوي القيمة الموضوعة في الشرط

اطبع القيمة نعم ولكن ماذا اذا كانت القيمة لا تساوي قيمة المتغير

اذن تاتي الحالة الثانية .

2- الجملة if…else

الصيغة

 if(Condition)
   {
        Statement;
   }
   else
   {
	Statement;
   }

ملحوظة : يمكن عدم استخدام الاقواس وتكون الجملة صحيحة وتكون بهذا الشكل

if(Condition)
       Statement;
 else
     Statement;

المثال السابق :

int  a = 5;
if  (a == 3)
{
Console.WriteLine("yes");
}
else
{
Console.WriteLine("No");
}
Console.ReadLine();

ماذا تتوقع المتغير يحمل القيمة 5 والشرط للمقارنة يقول لو 5 تساوي 3 اطبع نعم

لا تساويها اطبع لا

3- الجملة if … else if … else

الصيغة

if(Condition1)
{
 Statement;
 }
else if (Condition2)
{
Statement;
}
else
{
Statement;
 }

مثال :

string choice;
int  a;

Console.WriteLine("(1) Walk (2) Run  Falling[1,2]: ");
choice = Console.ReadLine();
a = Convert.ToInt32(choice);
if (a == 1)
{
   Console.WriteLine("Walk");
}
else if (a == 2)
{
  Console.WriteLine("Run");
}
else
{
  Console.WriteLine("I'm sorry, that is not a valid choice");
}
  Console.ReadLine();

السطر الاول والثاني قمنا بتعريف متغيران نصي وصحيح

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

الرابع عند اختيارك لرقم يتم تخزينة فى المتغير ولكنة يكون نصي

الخامس يتم تحويل القيمة النصية الي عدادية ويتم تخزينها فى المتغير

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

الرقم ولكن اذا ادخلت رقم غير موجود ينتقل الي الجملة else ويطبع ما بداخلها

Switch Statement

الصيغة

switch(Expression)
{
    case Choice1:
         Statement1;
	break;
    case Choice2:
         Statement2;
	break;
    case Choice3:
         Statement3;
	break;
   default:
         Other-Possibility;
           break;
}

المثال السابقة مع الجملة switch

string choice;
int  a;

Console.WriteLine("(1) Walk (2) Run  Falling[1,2]: ");
choice = Console.ReadLine();
a = Convert.ToInt32(choice);
switch (a)
{
    case  1:
Console.WriteLine("Walk");
break;
     case  2:
 Console.WriteLine("Run ");
 break;
      default:
          Console.WriteLine("I'm sorry, that is not a valid choice");
          break;
}
  Console.ReadLine();

المثال السابق هو نفس المثال ولكنها مع SWITCH والجديد هو كلمة break

فاذا تم الاختيار الصحيح يقف ولا يكمل ما بداخل الجملة .

لاحظ ان هذة الجملة هي الافضل في مثل هذة الامثلة عن الجملة if ولك الاختيار

بذلك نكون قد انتهينا من الدرس نرجو الايفادة منه

ولا تنسونا من صالح دعائكم والسلام عليكم ورحمه الله وبركاتة

#8

بارك الله فيك أخي التابعي

نتمنى مواصلة الدروس

My_Sign.jpg
#9

بارك الله فيك درس رائع ماشاء الله نتمنى منك المزيد ...

#10

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

#11

جزاك الله خيرا اخي التابعي علي الدروس والشرح

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

هذا الموضوع مغلق.

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