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

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

你可能感兴趣的:(联系人)