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

ArrayLists

مغلق
بدأه Ahmed H. Alawady في 29 يونيو 2006 · 0 رد · 702 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

هذا شرح مبسط لـ ArrayList

وكيفية إنشاء كلاس آخر ليتم تجميع مصفوفة أخرى من هذا النوع ArrayList

ونستفيد منها أننا نستخدم ArrayList بدون وجود أخطاء فمثلا

System.Collections.ArrayList myList = new System.Collections.ArrayList ();
myList.Add (22);
myList.Add ("C# Generics");
myList.Add (22.45);

ثم قمنا بإستخدام الكود التالي

int item =0;

//This will cause an InvalidCastException

foreach (int x in myList)

{

		  Item = item+x;

}

سوف ينتج خطأ لوجود نص حرفي في القيم المخزنة في myList

ولذلك

using System;

using System.Collections;

using System.Collections.Generic;

using System.Text;



namespace ArrayListSample

{

	#region Person Class

	class Person

	{

		String Name;

		Int32 Age;

		String Address;



		#region Constructor

		public Person() { }

		public Person(String Name, Int32 Age, String Address)

		{

			Name = Name;

			Age = Age;

			Address = Address;

		}



		public Person(String Name, Int32 Age)

		{

			Name = Name;

			Age = Age;

			Address = String.Empty;

		}

		public Person(String Name, String Address)

		{

			Name = Name;

			Age = 0;

			Address = Address;

		}

		public Person(String Name)

		{

			Name = Name;

			Age = 0;

			Address = String.Empty;

		}

		#endregion

	} 

	#endregion



	#region PeopleCollection Class

	class PeopleCollection : System.Collections.IEnumerable

	{

		private ArrayList arPeople = new ArrayList();



		public PeopleCollection()

		{



		}



		#region Methods

		public void AddPeople(Person p)

		{

			arPeople.Add(p);

		}



		public void ClearPeople()

		{

			arPeople.Clear();

		}



		int Count;



		public int PeopleCount

		{

			get { return Count; }

		}

		#endregion



		#region IEnumerable Members



		public System.Collections.IEnumerator GetEnumerator()

		{

			return arPeople.GetEnumerator();

		}



		#endregion

	} 

	#endregion



	class Client

	{

		public static void Main()

		{

			PeopleCollection myPeople = new PeopleCollection();			

			myPeople.AddPeople(new Person("Saurabh",24,"Gurgaon"));

			myPeople.AddPeople(new Person("Manu"));



			foreach (Person Person in myPeople)

			{

				Console.WriteLine(Person);

			}

			Console.ReadLine();

		}

	}

}

وفي الكود السابق تم إنشاء كلاس بإسم Person ، وهو مخصص لحفظ بيانات الشخص ووضعها في متغيرات لحفظها

ثم تم إنشاء كلاس آخر بإسم PeopleCollection وهي ترث من الإنترفيس (Interface) System.Collections.IEnumerable

ونستفيد من ذلك أننا يمكننا تجميع وتخزين بيانات أي عدد من الأشخاص وحفظهم في ArrayList

ونستخدم هذه الطريقة في أننا نحافظ على عدم وجود أي خطأ في حفظ البيانات وعدم وجود أي خطأ غير متوقع

مثال

myPeople.AddPeople(new Car());

السطر السابق سوف يعطي خطأ أثناء البرمجة لأننا حصرنا النوع المستخدم Person ، مع تحديد أنواع البيانات المدخلة من أرقام أو أحرف

أرجوا أن أكون عرفت أن أوصل المعلومة

تم تعديل هذه المشاركة بواسطة Ahmed H. Alawady في 29 يونيو 2006 في 12:00

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

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