Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 按成员变量对数组排序_C# 4.0 - Fatal编程技术网

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…:Java
ArrayList
是C#
List
,因为它们是泛型的。在C#中,它们只是对象的集合。但即使需要存储对象,也应该使用
列表。
var orderedBySpeed = characters.Cast<Character>().OrderBy(c => c.speed);