你的位置:首页 > 操作系统

[操作系统]联系人按姓名的第一字排序


public static ObservableCollection<Person> ByName(ObservableCollection<Person> oldCollection)    {      // 按名字顺序排好的集合      ObservableCollection<Person> sortedCollection = new ObservableCollection<Person>();      // 未排序的名字的第一个字      List<string> unsortedName = oldCollection.Select(p => p.PeopleName.Substring(0, 1)).ToList();      // 李,刘,朱      Array sortedNameArray = unsortedName.ToArray();      // 排好序的名字的第一个字      Array.Sort(sortedNameArray);      // 李,刘,朱      List<string> sortedName = (from object name in sortedNameArray select name.ToString()).ToList();      foreach (var firstName in sortedName)      {        foreach (var p in oldCollection)        {          if (p.PeopleName.Substring(0, 1) == firstName)          {            sortedCollection.Add(p);          }        }      }      return sortedCollection;    }

wp_ss_20150318_0001