Vb.net Linq按ORDER BY自定义排序,其余结果按asc排序
我有一个公司名称的字符串列表Vb.net Linq按ORDER BY自定义排序,其余结果按asc排序,vb.net,linq,Vb.net,Linq,我有一个公司名称的字符串列表 1. CompanyA 2. CompanyB 3. CompanyA 4. CompanyC 我的做法是: Dim companyNames = From cp In companyList Order By If(cp.CompanyName = 'CompanyC', 1, 0) Descending Select cp.CompanyName
1. CompanyA
2. CompanyB
3. CompanyA
4. CompanyC
我的做法是:
Dim companyNames = From cp In companyList
Order By If(cp.CompanyName = 'CompanyC', 1, 0) Descending
Select cp.CompanyName
Distinct
但我得到的结果是:
1. CompanyC
1. CompanyB
2. CompanyA
在将“CompanyC”设置为第一个之前,我想按companyName order保留订单。
,我想要下面的结果
1. CompanyC
2. CompanyA
3. CompanyB
您需要通过
公司名称升序
再次订购:
Dim companyNames =
From cp In companyList
Order By If(cp.CompanyName = "CompanyC", 1, 0) Descending, CompanyName Ascending
Select cp.CompanyName
Distinct
对不起,我一点也不明白你在说什么。你想要原始顺序,只把
CompanyC
作为第一个元素吗?@pikoh我想要按字母顺序排列asc,在CompanyC之前。那么你为什么不把所有列表按升序排列,然后将CompanyC
移动到第一个索引?我想那会简单得多