العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

 

 
أدوات الموضوع انواع عرض الموضوع
المشاركة السابقة   المشاركة التالية
  #1  
قديم 02-18-2010, 04:01 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الثامن : المصفوفات .net 2008

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

في هذا الدرس سوف نتعرف على المصفوفات وكيفية استخدامها وتعريفها .

ما هي المصفوفات Arrays :

المصفوفة هي عبارة عن سلسلة من البيانات من نفس النوع ، لتعريف Array من الارقام طولها 5 عناصر نكتب الكود التالي :

C#:
كود PHP:
int [] intarray = new int[5]; 
VB.net:
كود PHP:
Dim intarray As Integer() = New Integer(4
يبدأ الترقيم في المصفوفات من الصفر وحتى 4 ، لقراءة احد عناصر المصفوفة نكتب كود مثل التالي :

C#:
كود PHP:
Console.WriteLine(intarray[3]); 
Vb.net:
كود PHP:
Console.WriteLine(intarray(3)) 
ولقراءة جميع العناصر يمكن استخدام حلقات التكرار بالشكل التالي :

C#:
كود PHP:
for (int i=0;i<5;i++)
Console.WriteLine(intarray[i]); 
VB.net:
كود PHP:
 
For As Integer 0 To 4 
    Console
.WriteLine(intarray(i)) 
Next 
تكوين المصفوفات :

الطريقة الاسهل لادخال البيانات إلى المصفوفة بالشكل التالي مثلاً :

C#:
كود PHP:
array[0]=15;
array[
1]=20;
array[
2]=13
VB.net:
كود PHP:
array(0) = 15 
array(1) = 20 
array(2) = 13 
أو عن طريق حلقة تكرار ايضاً ، إلا ان هناك طريقة أخرى لادخال البيانات إلى المصفوفة بالشكل التالي مثلاً :

C#:
كود PHP:
 
int
[] intarray = new int[] { 152013 }; 
VB.net:
كود PHP:
Dim intarray As Integer() = New Integer() {152013
المصفوفات متعددة الابعاد :

جميع المصفوفات السابقة هي مصفوفات احادية البعد one dimensional ، هناك انواع اخرى من المصفوفات ثنائية او متعددة الابعاد Multi dimensional ، هذا مثال على مصفوفة ثنائية الابعاد - تسمى باسم Matrix - :

C#:
كود PHP:
int matrix = new int[3,3]; 
VB.net:
كود PHP:
Dim matrix As Integer = New Integer(22
سيكون شكل المصفوفة بالشكل التالي (افتراضي) :

0 0 0
0 0 0
0 0 0

ويمكن ادخال البيانات إلى نقطة من المصفوفة بالشكل التالي :

C#:
كود PHP:
matrix[1,2]=20
VB.net:
كود PHP:
matrix(12) = 20 
يمكن عمل حلقة تكرار لادخال البيانات ، وليكن عن طريق المستخدم بالشكل التالي مثلاً :

C#:
كود PHP:
int matrix = new int[33];
for(
int i=0;i<3;i++)
for(
int j=0;j<3;j++)
matrix[i,j]=Console.ReadLine(); 
VB.net:
كود PHP:
Dim matrix As Integer = New Integer(22) {} 
For 
As Integer 0 To 2 
    
For As Integer 0 To 2 
        matrix
(ij) = Console.ReadLine() 
    
Next 
Next 
والطباعة بنفس الشكل ايضاً .


عمل مصفوفة من المصفوفات :

يمكن عمل مصفوفة يحتوي كل عنصر منها على مصفوفة بالشكل التالي :

C#:
كود PHP:
int[][] complexarray = new int[5][];
VB.net
كود PHP:
Dim complexarray As Integer()() = New Integer(4)() 
ويمكن الوصول لأي عنصر فيها عن طريق الكود التالي مثلاً :

C#:
كود PHP:
Console.WriteLine(complexarray[1][4]); 
VB.net:
كود PHP:
Console.WriteLine(complexarray(1)(4)) 
وهذا ما يعني العنصر رقم 4 من المصفوفة الأولى في المصفوفة complexarray

ارسال واستقبال المصفوفات من وإلى الدوال :

بعد مراجعتك للدرس التالي الخاص بالدوال واستقبال البارميترس :
http://vb4arab.com/vb/showthread.php?t=10165

يمكنك عمل دالة لطباعة محتويات مصفوفة بالشكل التالي :
C#:
كود PHP:
static void print(int[] arr)
{
for (
int i 0arr.Lengthi++)
Console.WriteLine(arr[0]);

VB.net:
كود PHP:
Private Shared Sub print(ByVal arr As Integer()) 
    For 
As Integer 0 To arr.Length 
        Console
.WriteLine(arr(0)) 
    
Next 
End Sub 
لا تنسى طبعاً انه يتم التعامل معها byref افتراضياً ، لذا أي تعديل في الدالة سيؤثر على المصفوفة الأساسية .

في حالة كون ال array هي ما نود اعادته من الدالة return ، نكتب الكود بالشكل التالي :

C#:
كود PHP:
static int [] read()
{
int []arr=new int[3];
for (
int i=0;i<3;i++)
arr[i]=Console.Read();

VB.net:
كود PHP:
Private Shared Function read() As Integer() 
  
    
Dim arr As Integer() = New Integer(2) {} 
    For 
As Integer 0 To 2 
        arr
(i) = Console.Read() 
    
Next 
End 
Function 
خصائص المصفوفات الرئيسية :

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

الدالة Sort تقوم بترتيب عناصر المصفوفة Reverse تقوم بعكس ترتيب عناصر المصفوفة ، وأخيراً الدالة ToString لتحويل المصفوفة إلى متغير نصي .

إلى هنا نكون قد انتهينا من درس المصفوفات ، نواصل مع دروس أخرى قادمة .

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


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
 


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس 6: المصفوفات Arrays والتعامل معها وشرح التراكيب Structures khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 1 10-29-2010 07:32 PM
الدرس الثامن عشر : معرفات الوصول Access Modifer دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 08:18 PM
الدرس السابع : الدوال والطرق .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-17-2010 04:42 PM
الدرس الثاني : تقنيات جديدة مع .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-15-2010 03:37 AM
الدرس الثامن (المؤلفات المفردة في المناهي اللفظية) ابو تسنيم روضة العقيدة 0 01-09-2010 11:43 AM

استضافة الحياة

الساعة الآن 03:16 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

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz