List<T>用起来比较方便,但是有时候要按照Index来访问List中的对象有些繁琐,所以想是不是扩展一下,既能按照Index来访问,又能按照Key访问。
实现方法:
publicclassPerson
{publicstringName {get;set; }publicintAge {get;set; }
}publicclassPersonCollecton : List<Person>{publicPersonthis[stringname]
{get{for(inti =0; i <this.Count; i++)
{if(this[i].Name == name)returnthis[i];
}returnnull;
}
}
}publiccalss Test
{staticvoidMain()
{
PersonCollection persons=newPersonCollection();
persons.Add(newPerson(){Name ="Li Lei", Age =35};
persons.Add(newPerson(){Name ="Han Meimei", Age =32};
Person HanMeimei= persons["Han Meimei"];
}
}
以上方法中添加了一个按照名称的索引器,这样访问起来就方便了!