LINQ查询OrderBy不起作用

Ste*_*vds 4 c# linq sql-order-by

_db.InstellingAdressens
    .Where(l => l.GEMEENTE.Contains(gem_query))
    .OrderBy(q => q.GEMEENTE)
    .Select(q => q.GEMEENTE)
    .Distinct();
Run Code Online (Sandbox Code Playgroud)

这是查询.它返回一个List<string>但字符串根本没有排序.为什么OrderBy没有效果?以及如何解决它?

RaY*_*ell 9

尝试在通话结束时输入OrderBy.

_db.InstellingAdressens.
    Where(l => l.GEMEENTE.Contains(gem_query)).
    Select(q=>q.GEMEENTE).Distinct().
    OrderBy(q=>q).ToList();
Run Code Online (Sandbox Code Playgroud)


ang*_*son 6

Distinct不知道你在物品到达之前订购了它们,所以它不能使用这些知识.因此,它必须假设这些项目是无序的,因此只会按照它们的需要进行.

典型的实现将使用散列表,该散列表不按您通常希望排序的项排序,因此不同操作的结果是无序集.

正如其他人所建议的那样,改变你的呼叫顺序,最后进行排序,你应该得到你想要的.