C#高手来帮忙拉

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:41:50
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace statck2
{
class Program
{
static void Main(string[] args)
{

Hashtable hash = new Hashtable();
Console.WriteLine("学号 \t 姓名 性别\t电话\t住址");
hash.Add("001"," 翠花 女\t110\t铁岭");
hash.Add("002","刘华强 男\t120\t河北");
hash.Add("003","孙悟空 男\t720\t花果山");
hash.Add("004"," 拉登 男\t911\t国外");

IDictionaryEnumerator IDE = hash.GetEnumerator();
while (IDE.MoveNext())
Console.WriteLine("{0,-10}{1,-10}", IDE.Key, IDE.Value);

}

}
}

上边这个程序 学号是主键,现在我需要按学号降序排列~~高手来帮忙拉!!!! 最好把程序写上注释 谢谢拉

Hashtable有一个构造函数是Hashtable (IEqualityComparer),你只要写一个类实现IEqualityComparer接口,这个接口主要是用来怎么比较Hashtable中数据大小的。
这是MSDN的一个例子(不是什么问题都需要到这里来问的,可以去问MSDN^_^)
using System;
using System.Collections;
using System.Globalization;

class myComparer : IEqualityComparer
{
public new bool Equals(object x, object y)
{
return x.Equals(y);
}

public int GetHashCode(object obj)
{
return obj.ToString().ToLower().GetHashCode();
}
}

class myCultureComparer : IEqualityComparer
{
public CaseInsensitiveComparer myComparer;

public myCultureComparer()
{
myComparer = CaseInsensitiveComparer.DefaultInvariant;
}

public myCultureComparer(CultureInfo myCulture)
{
myComparer = new CaseInsensitiveComparer(myCulture);
}

public new bool Equals(object x, object y)