例のアレ
http://www.softantenna.com/wp/software/5-programming-problems/
問題4
正の整数のリストを与えられたとき、数を並び替えて可能な最大数を返す関数を記述せよ。例えば、[50, 2, 1, 9]が与えられた時、95021が答えとなる
int maxLen = int.MaxValue.ToString().Length;
string zeros = new string('0', maxLen);
int[] ss = args
.Select(a =>
new
{
orgValue = a,
padValue = (a + zeros).Substring(0, maxLen)
})
.OrderByDescending(a => a.padValue)
.Select(a => a.orgValue)
.ToArray();
return string.Concat(ss);