using System.Collections.Generic;
public class StringLexicalComparer : Comparer<String>
public override int Compare(string x, string y)
return (x + y).CompareTo(y + x);
private static int[] StringToNumberArray(string s)
return s.ToArray().Select(x => Int32.Parse(x.ToString())).ToArray();
public static void Main(string[] args)
var result = Int32.Parse(String.Join("", intNumbers.Select(x => x.ToString()).OrderByDescending(x => x, new StringLexicalComparer()).ToArray()));
Console.WriteLine(result);