C# - Arrays
C# - Arrays
Arrays هي مجموعة collection مخازن/متغيرات Variables تدعى elements ذات حجم ثابت ومجموعة متتابعة منelements من نفس النوع DataType . وتستخدم الـ Arrays لتخزين مجموعة من البيانات.
بدلا من التصريح عن المتغيرات، مثل number0، number1، و ...، وnumber99، نقوم بتعريف متغير Array مثل
أرقام [0]، وأرقام [1]، و ...، وأرقام [99] لتمثيل المتغيرات. يتم الوصول لعنصر elementمعين في array عن طريق الفهرسIndex.
تعريف مصفوفة Declaring Arrays:
لتعريف array داخل C# يمكن استخدام الشكل التالي:
datatype[] arrayName;
- datatype تستخدم لتحديد نوع العنصر لتخزينه داخل الـ array.
- [ ] لتعريف ان المتغير من نوع Array وتستخدم لتحديد الـ Rank وهو لتحديد أبعاد المصفوفة.
- arrayName لنحديد اسم المصفوفة.
مثال,
double[] balance;
تهيئة المصفوفة Initializing
الاعلان عن مصفوفة لا يعني تهيئتها في الذاكرة, عندما تتم تهيئة متغير مصفوفة يمكنك تحديد القيم إلى المصفوفة.
المصفوفة array هي من النوع reference type لذلك تحتاج إلى استخدام الكلمة new لإنشاء مثيل لل array.
مثال,
double[] balance = new double[10];
تعيين القيم إلى Assigning Values to an Array
يمكنك تعيين قيم لعناصر المصفوفة Array باستخدام الرقم Index، مثل:
double[] balance = new double[10];
balance[0] = 9300.0;
يمكنك تعيين قيم لـ array في وقت الإعلان، مثل:
double[] balance = { 2340.0, 4523.69, 3421.0 };
يمكنك أيضا إنشاء وتهيئة المصفوفة Array، مثل:
int[] marks = new int[5] { 99, 98, 92, 97, 95 };
في الحالة التالية، يمكنك أيضا حذف حجم size المصفوفة، مثل:
int[] marks = new int[] { 99, 98, 92, 97, 95 };
يمكنك أيضا نسخ متغير مصفوفة arrayإلى متغير array آخر. في هذه الحالة، فإن كلا من الهدف والمصدر يشير إلى نفس موقع الذاكرة:
int[] degrees = new int[] { 60, 71, 80, 55, 16 };
int[] trgt = degrees;
عند إنشاء مصفوفة C# array سوف يقوم مترجم اللغة C# compiler بتهيئة كل عنصر في المصفوفة إلى قيمة افتراضية اعتمادا على نوع الـ array. على سبيل المثال سيكون لـ int array قيمة أفتراضية صفر.
الوصول إلى عناصر المصفوفة
تم الوصول إلى العنصر باسم المصفوفة و بالفهرس Index. ويتم ذلك عن طريق وضع فهرس العنصر بين قوسين مربع بعد اسم من الصفيف. على سبيل المثال:
double salary = balance[9];
مثال شامل, إنشاء برنامج ConsoleApplication:
using System;
namespace ArrayApplication
{
class MyArrayClass
{
static void Main(string[] args)
{
int[] n = new int[10]; /* n is an array of 10 integers */
int i, j;
for (i = 0; i < 10; i++)
{
n[i] = i + 100;
}
for (j = 0; j < 10; j++)
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
}
}
}
نتيجة:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
استخدام foreach Loop
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int[] arr = new int[10];
arr[0] = 15;
arr[1] = 32;
arr[2] = 16;
arr[3] = 7;
arr[4] = 99;
arr[5] = 152;
arr[6] = 356;
arr[7] = 80;
arr[8] = 23;
arr[9] = 5;
int i = 0;
foreach (int Item in arr)
{
Console.WriteLine("Element[{0}] {1}",i, Item);
i++;
}
}
}
}
نتيجة:
تفاصيل المصفوفات في C#
المصفوفات مهمة في C# ,تحتاج الكثير من التفاصيل. هناك بعض المفاهيم التالية هامة التي تتعلق بالـ Array والتي ينبغي أن تكون واضحة لمبرمج C#.
المفهوم
Concept
|
الوصف
Description
|
المصفوف متعدد الأبعاد
|
C# يدعم المصفوفات متعددة الأبعاد. أبسط شكل من المصفوفة متعددة الأبعاد هي ثنائية الأبعاد.
|
المصفوفات المسننه
Jagged arrays |
مصفوفات من مصفوفات
|
تمرير Array إلى دوال functions
Passing arrays to functions |
يمكنك تمرير المصفوفة إلى الدالة عن طريق تحديد اسم المصفوفة دون فهرس index.
|
Param arrays
|
ويستخدم هذا لتمرير عدد غير معروف من المعلمات إلى دالة function.
|
Array Class
|
المصفوفة داخل System namespace, هو الكلاس الاساسي لكل المصفوفات وهو يوفر مختلف خصائصproperties وأساليب العمل methods مع المصفوفات.
|
أضف تعليق:
0 comments: