У меня есть цикл for, где я хочу упорядочить имя в алфавитном порядке
a b c d
, глядя, как это сделать, интересно, даже если бы я мог использовать linq orderby внутри forloop?
Попробуйте это:
List<Item> myItems = new List<Item>(); //load myitems foreach(Item i in myItems.OrderBy(t=>t.name)) { //Whatever }
new string[] { "d", "c", "b", "a" } .OrderBy(s => s) .ToList() .ForEach(s => MessageBox.Show(s));
Вам не нужен цикл вообще.Просто используйте LINQ:
List<MyClass> aList = new List<MyClass>(); // add data to aList aList.OrderBy(x=>x.MyStringProperty);
foreach требуется IEnumerable<T> LINQ-ордер, который принимает за один IEnumerable<T> и дает вам отсортированный IEnumerable<T>. Так что да, это должно работать.
foreach
IEnumerable<T>