对Dictionary操作 查找项和排序 [代码记录]

KeyCollection:
  
protected void Page_Load(object sender, EventArgs e)
        
{
            
if (!IsPostBack)
            
{
               EmployeeCollection employees 
=
               
new EmployeeCollection();
                employees.Add(
new Employee(1"Joe"));
                employees.Add(
new Employee(2"Jim"));
                employees.Add(
new Employee(3"Jane"));
                
if (employees.Contains(3))
                
{
                    Employee emp 
= employees[3];
                    Console.WriteLine(
                        
"Employee ID={0}, Name={1}",
                        emp.ID, emp.Name);
                }

                Console.ReadLine();
            }

        }

internal class Employee
        
{
            
public readonly int ID;
            
public string Name;

            
public Employee(int id, string name)
            
{
                
this.ID = id;
                
this.Name = name;
            }

        }


        
internal class EmployeeCollection : KeyedCollection<Int32, Employee>
        
{
            
protected override int GetKeyForItem(Employee item)
            
{
                
return item.ID;
            }

        }
 1GroupDictionary:
 2     internal class GroupDictionary<T> : Dictionary<String, List<T>>
 3        {
 4            public void Add(String key, T value)
 5            {
 6                List<T> list = null;
 7                if (!this.ContainsKey(key) || !(this.TryGetValue(key, out list)))
 8                {
 9                    list = new List<T>();
10                    this.Add(key, list);
11                }

12                list.Add(value);
13            }

14        }
posted @ 2008-02-22 16:45  RicoRui  阅读(1634)  评论(1编辑  收藏  举报