好的,大约十分钟前刚刚学会了LINQ语法,做了第一个程序:
public static void Main(string[] args)
{
char[] letters = {'d','a','C','n','D','e','R','f'};
List<char> tokens =
(from l in letters
where char.IsLower(l)
select l).ToList();
}
现在,当我浏览它时,我看到了一个orderby
关键字。但我无法掌握它的用法或能力。例如,在这种情况下,它可以用于按字母顺序排列令牌吗?如果是这样,那怎么样?
答案 0 :(得分:8)
var tokens =
(from l in letters
where char.IsLower(l)
orderby l
select l).ToList();
这将根据ASCII值对其进行排序。如果您想简单地排序,请按字母顺序尝试:
var tokens =
(from l in letters
orderby char.ToLower(l)
select l).ToList();
这会占用letters
的所有字符,而不仅仅是char.IsLower(l) == true
答案 1 :(得分:1)
@Marcin 说了一切。 但是如果你想在这里看一下流利的语法:
var tokens = letters.Orderby(l => l.ToLower()).ToList();