C # строка сортировки с запятыми

В C #, что бы вы считали самым быстрым способом сделать это? Код, в конечном счете, будет частью пользовательской функции SQL Server CLR C #, но я не думаю, что это важно для этого вопроса.

INPUT: "1,3,2,5,4" OUTPUT: "1,2,3,4,5" 

Сортировка должна выполняться путем сравнения чисел как int, а не строк или символов.

В настоящее время у меня есть следующее, но оно сортируется на основе строк, а не ints. Я мог бы представить пользовательский сопоставитель, но я хотел бы задать вопрос, есть ли у других идеи, прежде чем я это сделаю.

 [Microsoft.SqlServer.Server.SqlFunction] public static SqlString udfSortDimensionValueIDString(SqlString DimensionValueIDs) { string[] values = ((string)DimensionValueIDs).Split(','); Array.Sort(values); return String.Join(",", values); } 

Использование .NET 3.5, если это имеет значение.

Вы можете использовать Linq :

  using System.Linq; // no include required, just uses the namespace ... String Input = "1,3,2,5,4"; String Output = String.Join(",", Input.Split(',') .Select(x => int.Parse(x)) .OrderBy(x => x)); 
 string s = "1,3,2,5,4"; string ordered = String.Join(",", s.Split(',').Select(c => Convert.ToInt32(c)).OrderBy(i=>i)); 

Вы можете разбить строку на запятую и преобразовать каждую строку в число, используя библиотеку Convert. http://msdn.microsoft.com/en-us/library/bb397679.aspx

Interesting Posts

Как сохранить часовой пояс в SQL Server 2005

Функция HashBytes в SQL Server (неверный результат MD5)

лучший способ отслеживать время создания и обновления на сервере SQL

Не удалось найти вариант восстановления базы данных в SSMS

SSIS: удалить все строки из outputbuffer

Использование UDF в инструкции SELECT

Подзапросы SQL в разделе FROM

Функция для нахождения диапазона дат

Как изменить первичный ключ в базе данных SQL Server 2005 без потери данных?

Обновление из CTE не корректно обновляет все строки таблицы. Но обновляет все существующие строки таблицы с значениями CTE, возвращаемыми в первом идентификаторе в наборе результатов CTE

Студия управления сервером Sql: загрузка последних использованных окон

SQL Server Сравнение количества данных и только в одной таблице

Логика для заказа по SQL

Мастер импорта данных SQL Server с использованием запроса с другого сервера

Запрос на просмотр всех счетов-фактур для клиентов с несколькими

Давайте будем гением компьютера.