按字母顺序插入列表C#
发布时间:2020-12-15 18:11:51 所属栏目:百科 来源:网络整理
导读:有人可以教我如何在C#中按字母顺序将项目插入列表中? 所以每当我添加到列表中,我想添加一个项目,这个列表在理论上可能变得相当大. 示例代码: Public Class Person{ public string Name { get; set; } public string Age { get; set; }}Public Class Storag
有人可以教我如何在C#中按字母顺序将项目插入列表中?
所以每当我添加到列表中,我想添加一个项目,这个列表在理论上可能变得相当大. 示例代码: Public Class Person { public string Name { get; set; } public string Age { get; set; } } Public Class Storage { private List<Person> people; public Storage { people = new List<Person>(); } public void addToList(person Person) { int insertIndex = movies.findindex( delegate(Movie movie) { return //Stuck here,or Completely off Track. } people.insert(insertIndex,newPerson); } } 解决方法
定义一个比较器实现
IComparer<T> Interface:
public class PersonComparer : IComparer<Person> { public int Compare(Person x,Person y) { return x.Name.CompareTo(y.Name); } } 然后使用 SortedSet<Person> list = new SortedSet<Person>(new PersonComparer()); list.Add(new Person { Name = "aby",Age = "1" }); list.Add(new Person { Name = "aab",Age = "2" }); foreach (Person p in list) Console.WriteLine(p.Name); 如果仅限于我们的.NetFramework3.5,您可以使用 SortedList<string,Person> list = new SortedList<string,Person> (StringComparer.CurrentCulture); Person person = new Person { Name = "aby",Age = "1" }; list.Add(person.Name,person); person = new Person { Name = "aab",Age = "2" }; list.Add(person.Name,person); foreach (Person p in list.Values) Console.WriteLine(p.Name); 仔细阅读MSDN artcile中的备注部分,比较此类和 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |