首页 > 解决方案 > 如何在 Xamarin.Form 中将 ObservableCollection 排序为字母表

问题描述

我有 ObservableCollection 列表,我想将其排序为字母表:当我输入 3 个名称(篮球、阿拉伯、俱乐部)时,输出:篮球、阿拉伯、俱乐部

我想要它喜欢:阿拉伯,篮球,俱乐部,

ObservableCollection 的这段代码:

        public ObservableCollection<Contact> ContactList { get; set; }

和这个添加和删除项目的代码

 public ContactsListView()
        {

            InitializeComponent();
            ContactList = new ObservableCollection<Contact>();

            BindingContext =  new Contact();
            MessagingCenter.Subscribe<Contact>(this, "addNew", (addItem) =>
            {
                ContactList.Add(new Contact { Name = addItem.Name, PhoneNo = addItem.PhoneNo, Address = addItem.Address, NickName = addItem.NickName });

            });

            MessagingCenter.Subscribe<Contact>(this, "deleteContact", (Account) =>
            {
                ContactList.Remove(Account);
            });

                        MyListView.ItemsSource = ContactList;
            AddNewContact.Clicked+= AddNewContact_Clicked;
        }

标签: c#xamarin

解决方案


您可以使用 linq 进行如下排序:

var sortedContactList = ContactList.ToList().OrderBy(x => x.Name);

您需要using System.Linq;在文件顶部添加。


推荐阅读