using System; using System.Globalization; using System.Linq; using System.Collections.Generic; public class Test { public static void Main() { var list = new List(){"67.232,S","98.122,F","12.211,H"}; list = list .Select(s => new { NumPart = s.Substring(0, s.LastIndexOf(',')), Item = s }) .OrderBy(x => double.Parse(x.NumPart, CultureInfo.InvariantCulture)) .Select(x => x.Item) .ToList(); foreach(var num in list) Console.WriteLine(num); } }