linq - 如何使用 LINQ 返回国家列表,但将特定国家任意放置在顶部?

标签 linq linq-to-sql

我有一个表格,其中包含我用来填充下拉列表的国家/地区列表。

我如何构造一个 LINQ 查询,以便它将按字母顺序从该表中返回国家/地区列表,除了将 USA 放在顶部?

所以,如果表格包含:

瑞典
美国
墨西哥
丹麦

它会返回:

美国
丹麦
墨西哥
瑞典

?

最佳答案

您可以使用国家名称作为二级排序:

return countries.OrderBy(c => GetPrimaryOrdering(c)).ThenBy(c => c.Name);

int GetPrimaryOrdering(Country country) 
{ 
    return country.Name == "USA" ? 0 : 1
}

关于linq - 如何使用 LINQ 返回国家列表,但将特定国家任意放置在顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989290/

相关文章:

asp.net - 类型或命名空间名称 'Linq' 在命名空间 'System.Data' 中不存在

c# - 如何使用 LINQ 在一个集合中选择一个集合?

c# - 如何使用 Linq 检查一个数组的成员是否与另一个数组的任何成员匹配?

linq - 为什么空集的总和为空?

c# - LINQ 左连接和右连接

asp.net-mvc - 如果使用 LINQ to SQL 有什么好的理由再学习 SQL 查询/语法吗?

c# - 使用以纬度/经度开头的 Linq Sql 查询

c# - 林克到 SQL : Insert data

c# - LINQ 表达式 - 相同值不超过两次

c# - 在 C# 中使用 DataContext 和 System.Data.SQLite 创建数据库