Bonjour,
La piste c'est toi qui la donne. Il fallait pousser de ce côté là et comprendre pourquoi ça ne compile pas.
Si tu stockes les nombres sous forme de String :
En convertissant en uint :
List<String> Result = ListId.OrderBy(Id => (Convert.ToUInt32(Id,16) & 0x000000FF)).ThenBy(Id => Convert.ToUInt32(Id,16) >> 8).ToList();
En utilisant les fonctions sur chaines de caractères (pas terrible je trouve) :
List<String> Result = ListId.OrderBy(Id => Id.Substring(6,2)).ThenBy(Id => Id.Substring(5,1)).ToList();
Enfin en plus efficace , stocker les nombres en uint :
1 2
| List<UInt32> ListIdNum = new List<uint> {0x18FF0182, 0x18FF0081, 0x18FF0181, 0x18FF0082};
List<uint> ResultInt = ListIdNum.OrderBy(Id => Id & 0x000000FF).ThenBy(Id => Id >> 8).ToList(); |
Partager