Я думаю, что каждая запись в вашем списке является строкой - если не просто игнорировать следующее ...
Сначала вы должны проанализировать это в другом формате - не знаю, правда ли это, но я думаю,между Ip и вашим процентом есть вкладка ('\ t'), так что вы можете начать с чего-то вроде
var stringTupleList =
myList.Select(s => s.Split('\t'))
.Select(ar => new { Ip = ar[0], PercentString = ar[1] });
. Это дает вам список анонимных типов, и вы можете продолжить, как ответил BrokenGlass:
var stringTupleList =
myList.Select(s => s.Split('\t'))
.Select(ar => new { Ip = ar[0], PercentString = ar[1] })
.OrderByDescending(t => t.PercentString)
.Select(t => t.Ip)
.ToList();