联系人按姓名的第一字排序

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;
        }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。