Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何按字母顺序对listview排序?_C#_Sorting_Listview_Xamarin - Fatal编程技术网

C# 如何按字母顺序对listview排序?

C# 如何按字母顺序对listview排序?,c#,sorting,listview,xamarin,C#,Sorting,Listview,Xamarin,我有这个列表视图,我想按字母顺序排序。有人知道你能不能做到吗?如果你知道怎么做,给我看看代码。寻求帮助 这是我的Xaml.cs代码: namespace App2 { public partial class MainPage : ContentPage { List<Kontakter> kontakter = new List<Kontakter> { new Kontakter { Fuldenavn

我有这个列表视图,我想按字母顺序排序。有人知道你能不能做到吗?如果你知道怎么做,给我看看代码。寻求帮助

这是我的Xaml.cs代码:

namespace App2
{
public partial class MainPage : ContentPage
{
    List<Kontakter> kontakter = new List<Kontakter>
    {
        new Kontakter
        {
        Fuldenavn = "Name One (NO)",
        Tlfnr = 12345678
        },
        new Kontakter
        {
            Fuldenavn = "Another Name (AN)",
            Tlfnr = 23456789
        },
        new Kontakter
        {
            Fuldenavn = "Third Name (TN)",
            Tlfnr = 34567890
        },
        new Kontakter
        {
            Fuldenavn = "Yet Another (YA)",
            Tlfnr = 45678901
        }
    };

    public MainPage()
    {
        InitializeComponent();

        NameslistView.ItemsSource = kontakter;
    }

    private void MainSearchBar_SearchButtonPressed(object sender, EventArgs e)
    {
        var keyword = MainSearchBar.Text;
        NameslistView.ItemsSource = kontakter.Where(obj => (obj.Fuldenavn.Contains(keyword) || obj.Tlfnr.ToString().Contains(keyword)));
    }
}
}
名称空间App2
{
公共部分类主页:ContentPage
{
List kontakter=新列表
{
新康塔克特
{
Fuldenavn=“名称一(否)”,
Tlfnr=12345678
},
新康塔克特
{
Fuldenavn=“另一个名称(AN)”,
Tlfnr=23456789
},
新康塔克特
{
Fuldenavn=“第三个名称(TN)”,
Tlfnr=34567890
},
新康塔克特
{
Fuldenavn=“又一(YA)”,
Tlfnr=45678901
}
};
公共主页()
{
初始化组件();
NameListView.ItemsSource=kontakter;
}
private void MainSearchBar\u SearchButton按下(对象发送者,事件参数e)
{
var关键字=MainSearchBar.Text;
NameListView.ItemsSource=kontakter.Where(obj=>(obj.Fuldenavn.Contains(关键字)| | obj.Tlfnr.ToString().Contains(关键字));
}
}
}
这是我的Xmal代码:



您可以使用LINQ方法进行此操作

根据顺序按升序对序列的元素进行排序 钥匙

请阅读以了解更多信息

编辑

public MainPage()
{
    InitializeComponent();

    //Order the contacts
    var sorted = kontakter.OrderBy(x => x.Fuldenavn)
                          .ToList();

    //Set the ItemsSource with the ordered contacts
    NameslistView.ItemsSource = sorted;
}

使用排序并提供条件

排序((x,y)=>x.Fuldenavn[0]。比较(y.Fuldenavn[0])


其中[0]表示Fuldenavn的第一个字母,以便按字母顺序进行排序。

嘿,Kristian F,请查看@Kristian F的这个可能的副本,例如:
NameslistView.ItemsSource=sortedvar sorted = kontakter.OrderBy(x => x.Fuldenavn)
                      .ToList();
public MainPage()
{
    InitializeComponent();

    //Order the contacts
    var sorted = kontakter.OrderBy(x => x.Fuldenavn)
                          .ToList();

    //Set the ItemsSource with the ordered contacts
    NameslistView.ItemsSource = sorted;
}