منتدى رياض الجنة - Riad Al-Ganah

منتدى رياض الجنة - Riad Al-Ganah (https://montada.khaledbelal.com/index.php)
-   دورة CSharp 2008 من منتدى فيجوال بيسك للعرب (https://montada.khaledbelal.com/forumdisplay.php?f=54)
-   -   الدرس 6: المصفوفات Arrays والتعامل معها وشرح التراكيب Structures (https://montada.khaledbelal.com/showthread.php?t=299)

khaledbelal 12-28-2009 07:59 AM

الدرس 6: المصفوفات Arrays والتعامل معها وشرح التراكيب Structures
 
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

الدرس 6: المصفوفات Arrays والتعامل معها وشرح التراكيب Structures


المصفوفات:
أولا كيف يتم تعريف المصفوفات:

1- المصفوفات أحادية البعد:
يتم تعريف المصفوفات أحادية البعد على الشكل:

كود PHP:

int[] MyArr = new int[50]; 

حيث يكون في الكود هذا لدينا مصفوفة بالأسم MyArr تحوي على 50 حقل حيث يمكنك تعبئت حقولها على الشكل:

كود PHP:

MyArr[0] = 5

هنا أصبحت الخانة الأولى للمصفوفة = 5

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

كود PHP:

int[] MyArr = new int[5]; 

أنتبه هنا الخانة MyArr[5] خارج مجال المصفوفة وذلك لأن العد يبدأ من الصفر
والان ضع Button وفي الحدث Click الخاص به أكتب:

كود PHP:

     int[] MyArr = new int[5];
            
MyArr[0] = 1;
            
MyArr[1] = 2;
            
MyArr[2] = 3;
            
MyArr[3] = 4;
            
MyArr[4] = 5;
            
MessageBox.Show(MyArr[0].ToString() + MyArr[1] + MyArr[2] + MyArr[3] + MyArr[4]); 

ولاحظ...
قد ظهرت رسالة كتب بها 12345 وذلك لأننا قمنا باستدعاء كل من خانات المصفوفة على التتالي
بعد تحديد القيمة لكل واحدة منهم...

مثال: ( هنا سوف نستخدم الحلقة التكرارية for إذا كنت لا تعرفها فقد تم شرحها في الدرس 5)

ضع Button و TextBox واكتب في الحدث Click لل Button ما يلي:

كود PHP:

      int[] MyArr = new int[26];
            for (
int x 0;26;x++)
            {
                
MyArr [x] = x;
            }
            foreach (
int x in Arr)
            {
                
textBox1.Text += " " x.ToString();
            } 

جرب الكود ولاحظ
سوف تكون النتيجة أن ال textBox1 أصبح بداخله كالتالي:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
شرح الكود:

أولا قمنا بتعريف مصفوفة
ثانيا:
في حلقة التكرار كان المتغير x يزيد 1 في كل مرة ينفذ فيها الكود
وكانت الخانة الموافقة للمتغير x في المصفوفة MyArr تصبح تساوي x
مما سوف يشكل لنا في النهاية أن خانات MyArr سوف تكون من 0 إلى 25
وهذا ما حصل...

2- المصفوفات متعددة الأبعاد

يتم تعريف هذا النوع من المصفوفات كالتالي:

كود PHP:

int[,] MyArr = new int[5,5]; 

فمثلا بالمصفوفة التي تم تعريفها في الأعلى ( Arr وليس matrix )
في الواقع هي تحتوي على 25 خانة

يتم القراءة من المصفوفات عن طريق الحلقة التكرارية foreach
على الشكل:

كود PHP:

foreach (int x in MyArr)
{
MessageBox.Show(x.ToString());


خصائص المصفوفات:
Rank : تحدد عدد الأبعاد في المصفوفة
ToString : تحويل المصفوفة إلى متغير من نوع String كما ورد في الدروس السابقة
Reverse : تقوم بعكس العناصر التي في داخل المصفوفة
Sort : ترتيب عناصر المصفوفة
Length : تحديد طول عناصر المصفوفة


أظن أنه قد أصبح لديك معلومات جيدة عن المصفوفات والتعامل معها والان لنبدأ بالقسم الثاني من الدرس وهو :
ثانيا : التراكيب Structures

إن ال Structures تسهل كثيرا من العمل في حال كنا نود إضافة كائنات جديدة مثل تعريف نوع بإسم
(كتاب)
ملاحظة : لا تكتب ال Structures في داخل أمر ما وإنما تكتب في داخل Classes أو NameSpaces
يعني سوف نكتب ال Structures:

كود PHP:

namespace WindowsFormsApplication6
{
هنا ممكن
    
public partial class Form1 Form
    
{
  
هنا ممكن
        
public Form1()
        {
            
InitializeComponent();
            
هنا لا يمكن
        
}
 
        private 
void button1_Click(object senderEventArgs e)
        {
هنا غير ممكن
        
}
هنا ممكن
    
}


وحتى لو كتبتها بعد ما تم إستيراد المجالات ممكن ولو كانت خارج ال NameSpace الخاص بالرنامج !!!

مثال :

قم بكتابة struct كالتالي:

كود PHP:

   struct Book
    
{
       public 
string BookName;
       public 
int BookPrice;
       public 
string BookWriter;
    } 

والان جرب في أمر جديد تعريف متغير ككتاب:

كود PHP:

  private void mybooktest()
        {
            
Book Mybook = new Book();
            
Mybook.BookName "C# ********";
            
Mybook.BookPrice 200;
            
Mybook.BookWriter "tarek aldwire";
        } 

والان سوف نرى كيف يمكن إنشاء دوال داخل ال struct

سوف نأخذ المثال السابق بعد التعديل إنظر كيف سوف يصبح:

كود PHP:

 struct Book
    
{
       public 
string BookName;
       public 
int BookPrice;
       public 
string BookWriter;
       public 
void RenameBook(string NewName)
       {
           
BookName NewName;
       }
    } 


حيث هنا أصبح بإمكاننا إعادة تسمية الكتاب...

قمت بعمل مثال تجده في المرفقات...

إلى اللقاء في الدرس القادم إن شاء الله....

منقووووووول

ماريا إسلام 10-29-2010 07:32 PM

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

جزاااااكم الهي خير الجزااء

بالتوفيق ،،

//


الساعة الآن 09:12 PM.

Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية

Ads Management Version 3.0.1 by Saeed Al-Atwi

a.d - i.s.s.w