Ответ Стивена в порядке, но если вы используете .NET 3.5 или выше, вам также следует рассмотреть возможность использования LINQ.Весь ваш код может быть записан как:
var myList = (from obj in someObjects
orderby obj.OriginalInteger
select new MyObject { SomeInteger = obj.OriginalInteger,
OtherRandomData = obj.OtherRandom Data })
.ToList();
Обратите внимание, что это упорядочение по исходным данным, а не построение сначала значений MyObject
и сортировка , а затем .Вы также можете написать это как:
var myList = someObjects.OrderBy(obj => obj.OriginalInteger)
.Select(obj => new MyObject {
SomeInteger = obj.OriginalInteger,
OtherRandomData = obj.OtherRandom Data })
.ToList();
Обратите внимание, что если вы хотите отсортировать по нескольким свойствам, это очень просто с LINQ, но может быть немного громоздким с List<T>.Sort
.