按成员变量排序数组

时间:2014-03-05 15:01:13

标签: 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

1 个答案:

答案 0 :(得分:1)

您可以使用LINQ:

var orderedBySpeed = characters.OrderBy(c => c.Speed);

但是,请使用通用List<Character>代替ArrayList。如果你坚持ArrayList(没有理由这样做):

var orderedBySpeed = characters.Cast<Character>().OrderBy(c => c.speed);