C# 4.0 按成员变量对数组排序
如果我有这样的课C# 4.0 按成员变量对数组排序,c#-4.0,C# 4.0,如果我有这样的课 public class Character { public int speed = 0; //Other code... } 另一个类接受字符作为输入,如何根据字符的速度对字符进行排序? 我目前正在使用ArrayList来存储字符 这是我正在寻找的模型: 之前 角色1。。。速度4 角色2。。。速度9 角色3。。。速度1 之后 角色3。。。速度1 角色1。。。速度4 角色2。。。速度9您可以使用LINQ: var orderedBySpeed = chara
public class Character
{
public int speed = 0;
//Other code...
}
另一个类接受字符作为输入,如何根据字符的速度对字符进行排序?
我目前正在使用ArrayList来存储字符
这是我正在寻找的模型:之前
角色1。。。速度4
角色2。。。速度9
角色3。。。速度1
之后
角色3。。。速度1
角色1。。。速度4
角色2。。。速度9您可以使用LINQ:
var orderedBySpeed = characters.OrderBy(c => c.Speed);
但是,请使用通用的列表
,而不是数组列表
。如果您坚持使用ArrayList
(没有理由这样做):
var orderedBySpeed=characters.Cast().OrderBy(c=>c.speed);
查看。研究使用LINQ和OrderBy。还有ditch ArrayList——我们已经有了近9年的通用系列:)我不坚持ArrayList。我已经在使用泛型列表了,但只要不重要,我就喜欢ArrayList。怪Java。@StopForningMyAccounts…:JavaArrayList
是C#List
,因为它们是泛型的。在C#中,它们只是对象的集合。但即使需要存储对象,也应该使用列表。
var orderedBySpeed = characters.Cast<Character>().OrderBy(c => c.speed);