ضل الله في سلسة من المقالات سنتناول نشر دروس تعليم سي شارب C# ستكون شاملة ووافية للمبتدئين والمستوى المتوسط . سلسلة مقالات مأخوذة من كوداتي نتمنى أن تكون مفيدة لجميع الدارسين . وفي هذا المقال سنتناول شرح المصفوفات في لغة سي شارب C# Array .
سلسلة دروس تعلم سي شارب C# بالعربية
تم شرح فيما سبق :-
- الدرس الأول : مقدمة عن السي شارب #C
- الدرس الثاني : تركيب الجملة في سي شارب Syntax
- الدرس الثالث : التعليقات في سي شارب Comments
- الدرس الرابع : الطباعة في سي شارب Output
- الدرس الخامس : المتغيرات في سي شارب Variables
- الدرس السادس : المدخلات في سي شارب Inputs
- الدرس السابع : العمليات الرياضية في سي شارب Arithmetic Operations
- الدرس الثامن : العمليات المنطقية في سي شارب Logic Operations
- الدرس التاسع : الجمل الشرطية في سي شارب Condition Statement
- الدرس العاشر : الحلقات التكرارية في سي شارب Loops
الدرس الحادي عشر : المصفوفات في سي شارب Arrays
في هذا الدرس سنتاول المصفوفات في السي شارب C#
- انواع بيانات المصفوفات
- ملء عناصر المصفوفة بشكل منفصل
- مثال كامل مصفوفة نوع Int
- مثال كامل مصفوفة نوع String
- طباعة المصفوفات بأستخدام الfor
- طباعة المصفوفات بأستخدام الFor-Each
- طباعة المصفوفات بأستخدام الWhile
- أدخال العناصر برمجيا بأستخدام الfor
- العمليات على المصفوفات
المصفوفات Array
المصوفة هي عبارة عن متغير ب(أسم واحد ونوع واحد) يستطيع ان يحمل اكثر من قيمة اي مجموعة متغيرات تحت اسم واحد .
Syntax
type[] name = {item1, item2,……};
type[] name = new type[length];
name[0]=item1;
name[1]=item2;
name[2]=item3;
.
.
انواع بيانات المصفوفات
int[] myNum = {10, 20, 30, 40};
string[] cars = {“Volvo”, “BMW”, “Ford”};
double[] myDouble = {1.9, 2.9, 3.4, 3.5};
bool[] myBoolean = {true,false,false};
char[] myChar = {‘A’,’b’,’@’,’C’};
ملء عناصر المصفوفة بشكل منفصل
int[] myNum=new int[4];
myNum[0]=10;
myNum[1]=20;
myNum[2]=30;
myNum[3]=40;
string[] cars=new int[3] ;
cars[0]=”Volvo”;
cars[1]=”BMW”;
cars[2]=”Ford”;
مثال كامل مصفوفة نوع Int
في هذا المثال عملنا مصفوفة من نوع صحيح Int واعطينا عدد العناصر 6 ومن ثم قمنا بتعبئة كل عنصر بقيمة ومن ثم قمنا بطباعة العناصر .
using System;
namespace Example
{
class Program
{
static void Main(string[] args)
{
int[] Ar=new int[6];
Ar[0]=5;
Ar[1]=10;
Ar[2]=15;
Ar[3]=20;
Ar[4]=25;
Ar[5]=30;
Console.WriteLine(Ar[0]);
Console.WriteLine(Ar[1]);
Console.WriteLine(Ar[2]);
Console.WriteLine(Ar[3]);
Console.WriteLine(Ar[4]);
Console.WriteLine(Ar[5]);
}
}
}
Output :
5
10
15
20
25
30
مثال كامل مصفوفة نوع String
string[] Names = {“Saif”,”Ahmed”};
Console.WriteLine(Names[0]);
Console.WriteLine(Names[1]);
Output :
saif
Ahmed
طباعة المصفوفات بأستخدام ال for
int[] Ar=new int[6];
Ar[0]=5;
Ar[1]=10;
Ar[2]=15;
Ar[3]=20;
Ar[4]=25;
Ar[5]=30;
for(int i = 0; i < 6; i++) {
Console.WriteLine(Ar[i]);
}
Output :
5
10
15
20
25
30
مثال ثاني تنبيه استخدمنا length
في هذا المثال وهو يقوم بارجاع عدد عناصر المصفوفة
string[] Names = {“Ahmed”, “Ali”};
for(int i = 0; i < Names.Length; i++) {
Console.WriteLine(Names[i]);
}
Output :
Ahmed
Ali
طباعة المصفوفات بأستخدام ال For-Each
string[] cars = {“Volvo”, “BMW”, “Ford”, “Mazda”};
foreach (string i in cars) {
Console.WriteLine(i);
}
Output :
Volvo
BMW
Ford
Mazda
double[] dou = {2.4, 1.2, 42.3, 7.0};
foreach (double i in dou) {
Console.WriteLine(i);
}
Output :
2.4
1.2
42.3
7
طباعة المصفوفات بأستخدام الWhile
int[] Ar=new int[6];
Ar[0]=5;
Ar[1]=10;
Ar[2]=15;
Ar[3]=20;
Ar[4]=25;
Ar[5]=30;
int i=0;
while(i<6)
{
Console.WriteLine(Ar[i]);
i++;
}
Output :
5
10
15
20
25
30
أدخال العناصر برمجيا بأستخدام ال for
أدخال عناصر المصفوفة برمجيا بأستخدام الfor ومن داخل شاشة التنفيذ عن طريق المستخدم .
int[] Ar=new int[6];
Console.WriteLine(“ادخال العناصر :”);
for(int i = 0; i < 6; i++) {
Console.Write(“Enter Element”+i+” :”);
Ar[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine(“طباعة العناصر :”);
for(int i = 0; i < 6; i++) {
Console.WriteLine(“Ar” + i + “=” + Ar[i]);
}
Output :
ادخال العناصر :
Enter Element0 :11
Enter Element1 :22
Enter Element2 :33
Enter Element3 :44
Enter Element4 :55
Enter Element5 :66
طباعة العناصر :
Ar0=11
Ar1=22
Ar2=33
Ar3=44
Ar4=55
Ar5=66
العمليات على المصفوفات
توجد العديد من الدوال التي تؤدي مهام على المصفوفات :
Length
تقوم بارجاع عدد عناصر المصفوفة
int[] Ar={5,1,3,7};
Console.WriteLine(Ar.Length);
Output :
4
Sort Arrays
تقوم بترتيب عناصر المصفوفة رقمياً من الاصغر الى الاكبر ونصياً حسب الاحرف الابجدية
//ترتيب مصفوفة من نوع string
string[] cars = {“Volvo”, “BMW”, “Ford”, “Mazda”};
Array.Sort(cars);
foreach (string i in cars)
{
Console.WriteLine(i);
}
Output :
BMW
Ford
Mazda
Volvo
//ترتيب مصفوفة من نوع int
int[] myNumbers = {5, 1, 8, 9};
Array.Sort(myNumbers);
foreach (int i in myNumbers)
{
Console.WriteLine(i);
}
Output :
1
5
8
9
كما توجد دوال اخرى ولكن تحتاج لأضافة مجال الاسماء System.Linq
Max
تقوم بارجاع قيمة اكبر عنصر في المصفوفة
using System;
using System.Linq;
namespace Example
{
class Program
{
static void Main(string[] args)
{
int[] Ar={5,1,3,7};
Console.WriteLine(Ar.Max());
}
}
}
Output :
7
Min
تقوم بارجاع قيمة اصغر عنصر في المصفوفة
int[] Ar={5,1,3,7};
Console.WriteLine(Ar.Min());
Output :
1
Sum
تقوم بارجاع مجموع عناصر الوصفوفة
int[] Ar={5,1,3,7};
Console.WriteLine(Ar.Sum());
Output :
16