Есть ли способ, из коллекции, сортировать коллекцию в алфавитном порядке (используя C# 2.0?).Сортировка коллекции в алфавитном порядке
Thanks
Есть ли способ, из коллекции, сортировать коллекцию в алфавитном порядке (используя C# 2.0?).Сортировка коллекции в алфавитном порядке
Thanks
О каких коллекциях мы говорим? A List<T>
? ICollection<T>
? Массив? Каков тип, хранящийся в коллекции?
Предполагая, что в List<string>
, вы можете сделать это:
List<string> str = new List<string>();
// add strings to str
str.Sort(StringComparer.CurrentCulture);
Рефакторинг! (5 больше, чтобы пойти ..) –
Мне не нравится использовать 'var' в общих ситуациях – thecoop
@thecoop Если контекст не является видимым, var is awesome – sparkyShorts
List<string> stringList = new List<string>(theCollection);
stringList.Sort();
List<string>
реализует ICollection<string>
, так что вы до сих пор все коллекции-ориентированной функциональности даже после того, как вы преобразовать в список.
Как насчет Array.Sort? Даже если вы не предоставите собственный компаратор, по умолчанию он будет отсортировать массив в алфавитном порядке:
var array = new string[] { "d", "b" };
Array.Sort(array); // b, d
Это не может быть из коробки, но вы также можете использовать LinqBridge http://www.albahari.com/nutshell/linqbridge.aspx делать запросы LINQ в версии 2.0 (рекомендуется Visual Studio 2008).
См. Http://stackoverflow.com/questions/188141/c-list-orderby-alphabetical-order –
@ Доминичный вопрос составляет около 3,5, что означает Linq. – Will
@ Dominic: Я вижу Q и большинство A, используя C# 3 –