Есть ли способ использовать orderby в forloop C #? - PullRequest
10 голосов
/ 26 октября 2010

У меня есть цикл for, где я хочу упорядочить имя в алфавитном порядке

a
b
c
d

, глядя, как это сделать, интересно, даже если бы я мог использовать linq orderby внутри forloop?

Ответы [ 4 ]

34 голосов
/ 26 октября 2010

Попробуйте это:

List<Item> myItems = new List<Item>();
//load myitems
foreach(Item i in myItems.OrderBy(t=>t.name))
{
 //Whatever
}
2 голосов
/ 26 октября 2010
new string[] { "d", "c", "b", "a" }
    .OrderBy(s => s)
    .ToList()
    .ForEach(s => MessageBox.Show(s));
1 голос
/ 26 октября 2010

Вам не нужен цикл вообще.Просто используйте LINQ:

List<MyClass> aList = new List<MyClass>();

// add data to aList

aList.OrderBy(x=>x.MyStringProperty);
0 голосов
/ 26 октября 2010

foreach требуется IEnumerable<T> LINQ-ордер, который принимает за один IEnumerable<T> и дает вам отсортированный IEnumerable<T>. Так что да, это должно работать.

...