gpt4 book ai didi

c# - 区分和排序列表 LINQ

转载 作者:行者123 更新时间:2023-11-30 14:30:40 25 4
gpt4 key购买 nike

使用 Entity Framework ,我有以下返回列表的代码:

    private List<string> MyList()
{
using (MyEntities ctx = new MyEntities())
{
var myList= from a in ctx.Foo
orderby a.Bar
select a.Bar;

return myList.ToList();
}
}

这很好用,但我想要一个不同的列表。为此,我尝试了以下代码,将 .Distinct() 添加到选择中:

    private List<string> MyList()
{
using (MyEntities ctx = new MyEntities())
{
var myList= from a in ctx.Foo
orderby a.Bar
select a.Bar.Distinct();

return myList.ToList();
}
}

不幸的是,这个新代码会导致错误:

Cannot implicitly convert type 'System.Collections.Generic.List(System.Collections.Generic.IEnumberable(char))' to 'System.Collections.Generic.List(string)'

然后我尝试了这个代码,它确实给了我一个不同的列表,但现在看来 orderby 不起作用,因为结果是未排序的:

    private List<string> MyList()
{
using (MyEntities ctx = new MyEntities())
{
var myList= (from a in ctx.Foo
orderby a.Bar
select a.Bar).Distinct();

return myList.ToList();
}
}

有什么想法可以返回一个不同且排序的列表吗?

最佳答案

试试这个

private List<string> MyList()
{
using (MyEntities ctx = new MyEntities())
{
var myList= ctx.Foo.Select(a => a.Bar).Distinct().OrderBy(a => a);

return myList.ToList();
}
}

关于c# - 区分和排序列表 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com