你希望ReversibleSortedList類中的元素是以TKey(鍵)的順序進行存儲的
Array
public static int BinarySearch (
T[] array
int index
int length
T value
IComparer comparer //比較元素時要使用的 IComparer 實現
)
其中
我們的ReversibleSortedList不能插入重復的鍵值
求補是什麼呢?就是把二進制數的
現在的問題是需要一個實現了IComparer接口的類
ReversibleSortedList
using System;
using System
using System
using System
public class ReversibleSortedList
{
#region 成員變量
private TKey[] keys=new TKey[
private TValue[] values; //值數組
private static TKey[] emptyKeys;
private static TValue[] emptyValues;
#endregion
#region 構造方法
//類型構造器
static ReversibleSortedList()
{
ReversibleSortedList
ReversibleSortedList
}
public ReversibleSortedList()
{
this
this
}
#endregion
#region 公有屬性
public int Capacity //容量屬性
{
get
{
return this
}
}
#endregion
#region SortDirectionComparer類定義
public class SortDirectionComparer : IComparer
{ //ListSortDirection 枚舉
//Ascending按升序排列
private System
//構造方法
public SortDirectionComparer()
{ //默認為升序
_sortDir = ListSortDirection
}
//可指定排序方向的構造方法
public SortDirectionComparer(ListSortDirection sortDir)
{
_sortDir = sortDir;
}
//排序方向屬性
public System
{
get { return _sortDir; }
set { _sortDir = value; }
}
//實現IComparer接口的方法
public int Compare(T lhs
{
int compareResult =
lhs
// 如果是降序
if (SortDirection == ListSortDirection
compareResult *=
return compareResult;
}
}
#endregion
}
public class Test
{
static void Main()
{
ReversibleSortedList rs=new ReversibleSortedList();
Console
}
}
From:http://tw.wingwit.com/Article/program/net/201311/13714.html