在LINQ中按字母顺序排列字符?

App*_*ker 1 c# linq c#-4.0

好的,大约十分钟前刚刚学会了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();
}
Run Code Online (Sandbox Code Playgroud)

现在,当我浏览它时,我看到了一个orderby关键字.但我无法掌握它的用法或能力.例如,在这种情况下,它可以用于按字母顺序排列令牌吗?如果是这样,那怎么样?

Mar*_*zek 8

var tokens = 
        (from l in letters
         where char.IsLower(l)
         orderby l
         select l).ToList();
Run Code Online (Sandbox Code Playgroud)

这将根据ASCII值对其进行排序.如果您想简单地排序,请按字母顺序尝试:

var tokens = 
        (from l in letters
         orderby char.ToLower(l)
         select l).ToList();
Run Code Online (Sandbox Code Playgroud)

这将取代所有的角色letters,而不仅仅是这些char.IsLower(l) == true

  • 你确定你在说什么吗?我用过TOLower,你说的是ISLower.http://msdn.microsoft.com/en-us/library/hhef7hhe.aspx:返回值类型:System.Char (5认同)