السبت، 18 يناير 2014

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

 القائمة المرتبة C# - SortedList Class

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

ماهي القائمة  المرتبة؟

القائمة المرتبة تمثل مجموعة من زوج يحتوي على القيمة value والمفتاح key ويمكن الوصول اليها بالفهرس أو المفتاح.القائمة المرتبة هي مزيج بين جدوال التجزئة والمصفوفات في حال استخدمت الفهرس للوصول الي عناصرالقائمة المرتبة  فهي اذن مصفوفة قائمة وفي حال استخدمت المفتاح للوصول لعناصر القائمة المرتبة فهي اذن جدول التجزئة.


دوال وخصائص القائمة المرتبة

اولا خصائص القائمة المرتبة

الخاصيةالوصف
Capacityكتابة او قراءة سعة القائمة المرتبة
Countقراءة عدد العناصر التي تحتويها القائمة المرتبة
IsFixedSizeقراءة القيمةالتي تشير هل القائمة المرتبة ذات حجم ثابت
IsReadOnlyقراءة القيمةالتى تشير هل ان القائمة المرتبة للقراءة فقط
Itemقراءة وكتابة القيمة المرتبطة مع المفتاح المحدد  في القائمة المرتبة
Keysقراءة المفاتيح في القائمة المرتبة
Valuesقراءة القيم في القائمة المرتبة

دوال القائمة المرتبة

التسلسلالدالة والوصف
1public virtual void Add( object key, object value ); اضافة عنصر حسب المفتاح والقيمة المعطاة الى القائمة المرتبة
2public virtual void Clear(); حذف كل العناصر من القائمة المرتبة
3public virtual bool ContainsKey( object key ); تحديد اذا ماكانت القائمة المرتبة تحتوي على المفتاح المحدد ام لا
4public virtual bool ContainsValue( object value ); تحديد إذا ماكانت القائمة المرتبة  تحتوي على القيمة المحددة
5public virtual object GetByIndex( int index ); قراءة القيمة حسب الفهرس المعطى في القائمة  المرتبة
6public virtual object GetKey( int index ); قراء قيمة المفتاح حسب الفهرس المعطى في القائمة المرتبة
7public virtual IList GetKeyList(); 
قراءة المفاتيح في القائمة المرتبة
8public virtual IList GetValueList(); قراءة القيم في القائمة المرتبة
9public virtual int IndexOfKey( object key ); تعيد قيمة صفر اعتماد على اساس الفهرس لقيمة المفتاح المحدد القئمة المرتبة
10public virtual int IndexOfValue( object value ); تعيد قيمة صفر اعتماد على اساس الفهرس لاول قيمة يجدها للقيمة المحدد في القائئمة المرتبة
11public virtual void Remove( object key ); ازالة العنصر حسب قيمة المفتاح الممرر في القائمة المرتبة
12public virtual void RemoveAt( int index ); ازالة العنصر حسب قيمة الفهرس المرر للقائمة المرتبة
13public virtual void TrimToSize(); تحديد سعة العناصر حسب الرقم في القائمة المرتبة

مثال على القائمة المرتبة

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         SortedList sl = new SortedList();

         sl.Add("001", "Zara Ali");
         sl.Add("002", "Abida Rehman");
         sl.Add("003", "Joe Holzner");
         sl.Add("004", "Mausam Benazir Nur");
         sl.Add("005", "M. Amlan");
         sl.Add("006", "M. Arif");
         sl.Add("007", "Ritesh Saikia");

         if (sl.ContainsValue("Nuha Ali"))
         {
            Console.WriteLine("This student name is already in the list");
         }
         else
         {
            sl.Add("008", "Nuha Ali");
         }

         // get a collection of the keys. 
         ICollection key = sl.Keys;

         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + sl[k]);
         }
      }
   }
}

ناتج مثال القائمة المرتبة

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Banazir Nur
005: M. Amlan 
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali







Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
20/1/2014

التسميات: