ال interfaces في System.Collections :
لو راجعنا الواجهات الموجودة في ال collection لوجدنا الواجهات التالية :
ICollection :
تحتوي هذه الواجهة على بعض النقاط الاساسية مثل ال size وال IsSynchronized وخلافه ، لها الشكل العام التالي :
C#:
كود :
public interface ICollection : IEnumerable
{
int Count { get; }
bool IsSynchronized { get; }
object SyncRoot { get; }
void CopyTo(Array array, int index);
}
vb.net:
كود :
Public Interface ICollection
Inherits IEnumerable
ReadOnly Property Count() As Integer
ReadOnly Property IsSynchronized() As Boolean
ReadOnly Property SyncRoot() As Object
Sub CopyTo(ByVal array As Array, ByVal index As Integer)
End Interface
IComparer :
تعرفنا عليها سابقا .
IDictionary :
تستخدم كما هو واضح من اسمها من اجل الادلة ، يمكن استخدامها لتخزين مثلاً بيانات الموظفين وعناوينهم بحيث يمكن العثور بعد ذلك على الشخص بدلالة اسمه او عنوانه ، تحتوي على دوال للاضافة والحذف وخلافه . الشكل العام لها بالشكل التالي :
C#:
كود :
public interface IDictionary :
ICollection, IEnumerable
{
bool IsFixedSize { get; }
bool IsReadOnly { get; }
// Type indexer; see Chapter 12 for full details.
object this[object key] { get; set; }
ICollection Keys { get; }
ICollection Values { get; }
void Add(object key, object value);
void Clear();
bool Contains(object key);
IDictionaryEnumerator GetEnumerator();
void Remove(object key);
}
vb.net:
كود :
Public Interface IDictionary
Inherits ICollection
Inherits IEnumerable
ReadOnly Property IsFixedSize() As Boolean
ReadOnly Property IsReadOnly() As Boolean
' Type indexer; see Chapter 12 for full details.
Default Property Item(ByVal key As Object) As Object
Get
End Get
Set
End Set
End Property
ReadOnly Property Keys() As ICollection
ReadOnly Property Values() As ICollection
Sub Add(ByVal key As Object, ByVal value As Object)
Sub Clear()
Function Contains(ByVal key As Object) As Boolean
Function GetEnumerator() As IDictionaryEnumerator
Sub Remove(ByVal key As Object)
End Interface
IEnumerable
تم شرحها سابقاً .
IEnumerator
تم شرحها سابقا .
IDictionaryEnumerator
لو لاحظت في IDictionary ستجد الدالة GetEnumerator ، هذا هو ال interface الخاص بهذه الدالة ، لها الشكل العام التالي :
C#:
كود :
public interface IDictionaryEnumerator : IEnumerator
{
DictionaryEntry Entry { get; }
object Key { get; }
object Value { get; }
}
vb.net:
كود :
Public Interface IDictionaryEnumerator
Inherits IEnumerator
ReadOnly Property Entry() As DictionaryEntry
ReadOnly Property Key() As Object
ReadOnly Property Value() As Object
End Interface
IHashCodeProvider
يختص باعادة ال hashcode لل collection المعين باستخدام الدالة GetHashCode .
IList
قائمة ، هذا كل ما في الأمر ، تحتوي على عدة دوال تسهل التعامل معها للاضافة والبحث والحذف وخلافه الشكل العام لها بالشكل التالي :
c#:
كود :
public interface IList :
ICollection, IEnumerable
{
bool IsFixedSize { get; }
bool IsReadOnly { get; }
object this[ int index ] { get; set; }
CHAPTER 10 n COLLECTIONS AND GENERICS 311
int Add(object value);
void Clear();
bool Contains(object value);
int IndexOf(object value);
void Insert(int index, object value);
void Remove(object value);
void RemoveAt(int index);
}
vb.net:
كود :
Public Interface IList
Inherits ICollection
Inherits IEnumerable
ReadOnly Property IsFixedSize() As Boolean
ReadOnly Property IsReadOnly() As Boolean
Default Property Item(ByVal index As Integer) As Object
Get
End Get
Set
End Set
End Property
Function Add(ByVal value As Object) As Integer
Sub Clear()
Function Contains(ByVal value As Object) As Boolean
Function IndexOf(ByVal value As Object) As Integer
Sub Insert(ByVal index As Integer, ByVal value As Object)
Sub Remove(ByVal value As Object)
Sub RemoveAt(ByVal index As Integer)
End Interface