Алфавитный порядок символов в LINQ? - PullRequest
1 голос
/ 01 апреля 2012

Хорошо, только что изучил синтаксис 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. Но я не могу понять его использование или возможности. Например, в этом случае, это может использоваться, чтобы расположить токены в алфавитном порядке? Если так, то как?

Ответы [ 2 ]

8 голосов
/ 01 апреля 2012
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 голос
/ 01 апреля 2012

@ Марчин сказал все.Но если вам нужен свободный синтаксис, посмотрите здесь:

var tokens = letters.Orderby(l => l.ToLower()).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...