对于每个列表或哪个将是正确的方法
本文关键字:方法 于每个 列表 | 更新日期: 2023-09-27 18:05:37
我有一个List<Player>
,我希望输出有序的字符串,所以我想知道这样做的正确方法是什么,如果一个简单的foreach将始终输出它已经有序(到目前为止,它从我做的测试)?
int position = 0;
foreach (var player in list)
{
position++;
Console.Write(position.ToString() + " " + player.Name);
}
我以后可能会得到它,比如list[X]
,其中X是列表中的球员号码。
List将按照添加到列表中的顺序输出元素。如果你使用。net 3.0+,你可以执行一个.OrderBy(r=> r.Foo)
来保证在打印输出之前的顺序。如果要在循环过程中增加计数器,我建议使用经典的for循环,而不是foreach
for(int pos =0; pos<list.count; ++pos) {
Console.Write(pos.ToString() + " " + list[pos].Name);
}
对于列表,使用foreach将始终按照列表的原始顺序输出。
你有什么工作。List是有序集合,其枚举数也是有序的。这是一个很好的问题,因为并非所有集合都有排序的概念,例如Dictionary
如果您所说的有序是指它在集合中的顺序,那么您的foreach正是我要做的。然而,如果你需要改变顺序,那么你可能会考虑使用LINQ,特别是如果你可能想要根据播放器类的不同属性进行排序。