c# - 如何在 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;
}
解决方案
您可以使用 linq 进行如下排序:
var sortedContactList = ContactList.ToList().OrderBy(x => x.Name);
您需要using System.Linq;
在文件顶部添加。
推荐阅读
- vb.net - Issue with declare references
- php - How to get min and max values of the custom numeric meta field?
- python - 使用 Django 将目录从 Google Cloud Storage Bucket 递归复制到另一个 Google Cloud Storage Bucket
- jquery - preventDefault still refreshing the page
- localhost - Remote GUI with LTK doesn't open window
- django - Django如何在信号中保存对象状态?
- ruby - Prepending dash on a Ruby string doesn't freeze the string object?
- docker - Error: ENOENT: no such file or directory, scandir during docker-compose up
- ansible - 在 jinja2 循环中使用主机变量的动态变量
- azure-devops - Terraform ip configuration not found error