在forloop C#中是否有使用orderby的方法?

在forloop C#中是否有使用orderby的方法?,c#,linq,for-loop,sql-order-by,C#,Linq,For Loop,Sql Order By,我有一个for循环,我想按名称的字母顺序排序 a b c d 看看如何做到这一点,我想知道我是否可以在forloop中使用linq orderby?试试这个: List<Item> myItems = new List<Item>(); //load myitems foreach(Item i in myItems.OrderBy(t=>t.name)) { //Whatever } List myItems=new List(); //加载我的项目 for

我有一个for循环,我想按名称的字母顺序排序

a
b
c
d
看看如何做到这一点,我想知道我是否可以在forloop中使用linq orderby?

试试这个:

List<Item> myItems = new List<Item>();
//load myitems
foreach(Item i in myItems.OrderBy(t=>t.name))
{
 //Whatever
}
List myItems=new List();
//加载我的项目
foreach(myItems.OrderBy(t=>t.name)中的项目i)
{
//随便
}

foreach
需要一个
IEnumerable
LINQ order by接受一个
IEnumerable
,并为您提供一个排序的
IEnumerable
。所以是的,它应该可以工作。

您根本不需要循环。只需使用LINQ:

new string[] { "d", "c", "b", "a" }
    .OrderBy(s => s)
    .ToList()
    .ForEach(s => MessageBox.Show(s));
List<MyClass> aList = new List<MyClass>();

// add data to aList

aList.OrderBy(x=>x.MyStringProperty);
List aList=newlist();
//向列表中添加数据
aList.OrderBy(x=>x.MyStringProperty);

你到底想完成什么?一个循环?一圈线?要按名称对这些字符串进行排序吗?如果是这样,只需执行list.OrderBy();如果没有,请提供更多信息。代码也是受欢迎的。一个有点不切实际的问题,orderby是否会在循环的每次迭代中执行,从而导致性能下降?不,对于所有想知道为什么这不起作用的人来说,这只是一次:检查您是否使用System.Linq包含了行。