在c#中按字母顺序对数组进行排序

问题描述 投票:0回答:1

我有

arraylist
个州,其中州名称未按
Alphabetical
顺序显示。我想以
ALPHABETICAL
的顺序显示相同的内容。下面是代码

string[] allStates = dsUserGroups.Tables[2].AsEnumerable().Select(r => r.Field<string>("BOUNDARY_VALUE")).ToArray();
                        ViewState["States"] = string.Join(",", allStates);
c# arrays sorting
1个回答
0
投票

好吧,你几乎已经在评论中提到了。 OrderBy 会自动升序,因此您不必添加“ASC”。 OrderBy 想知道应该按照什么标准排序,所以通常是这样的:

OrderBy(obj => obj.attribute)

由于您想对字符串本身进行排序,因此它们只需要“引用自身”。 所以:

OrderBy(str => str)

如果我们现在将其添加到您的代码片段中,我们会得到:

string[] allStates = dsUserGroups.Tables[2].AsEnumerable().Select(r => r.Field<string>("BOUNDARY_VALUE")).OrderBy(s => s).ToArray();
ViewState["States"] = string.Join(",", allStates);
© www.soinside.com 2019 - 2024. All rights reserved.