如何使用LINQ返回国家/地区列表,但将特定国家/地区放在顶部?

Kin*_*tor 3 linq linq-to-sql

我有一张表格,其中列出了我用来填充下拉菜单的国家/地区.

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

所以,如果表包含:

瑞典
美国
墨西哥
丹麦

它将返回:

美国
丹麦
墨西哥
瑞典

Avi*_*ish 5

您可以使用国家/地区的名称作为辅助订购:

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

int GetPrimaryOrdering(Country country) 
{ 
    return country.Name == "USA" ? 0 : 1
}
Run Code Online (Sandbox Code Playgroud)