Сортировка коллекции в алфавитном порядке - PullRequest
4 голосов
/ 16 августа 2010

Есть ли способ, из коробки, отсортировать коллекцию в алфавитном порядке (используя C # 2.0?)

Спасибо

Ответы [ 5 ]

12 голосов
/ 16 августа 2010

О каких коллекциях идет речь?A List<T>?ICollection<T>?Массив?Какой тип хранится в коллекции?

Предполагая List<string>, вы можете сделать это:

 List<string> str = new List<string>();
 // add strings to str

 str.Sort(StringComparer.CurrentCulture);
4 голосов
/ 16 августа 2010

Вы можете использовать SortedList .

3 голосов
/ 16 августа 2010

Как насчет Array.Sort ? Даже если вы не предоставите пользовательский компаратор, по умолчанию он отсортирует массив в алфавитном порядке:

var array = new string[] { "d", "b" };

Array.Sort(array); // b, d
1 голос
/ 16 августа 2010

Это может быть не из коробки, но вы также можете использовать LinqBridge http://www.albahari.com/nutshell/linqbridge.aspx для выполнения запросов LINQ в 2.0 (хотя рекомендуется Visual Studio 2008).

1 голос
/ 16 августа 2010
List<string> stringList = new List<string>(theCollection);
stringList.Sort();

List<string> реализует ICollection<string>, поэтому вы по-прежнему будете иметь все функциональные возможности, ориентированные на коллекцию, даже после преобразования в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...