我有一个程序,我将对象添加到字典中。字典设置为int和我的自定义' Ship'类。问题是我需要通过类中的变量来组织船只。
船级是 -
public class Ship
{
public string Name { get; set; }
public int Attack { get; set; }
public int Engine { get; set; }
public int Shield { get; set; }
public string Team { get; set; }
public string ShipClass { get; set; }
public Ship(string name, int attack, int engine, int shield, string team, string shipClass)
{
Name = name;
Attack = attack;
Engine = engine;
Shield = shield;
Team = team;
ShipClass = shipClass;
}
}
我需要组织
Dictionary<int,Ship> ShipList = new Dictionary<int,Ship>();
通过ShipList [i]。发动机,我穿过我的每艘船。 任何帮助都会很棒。
答案 0 :(得分:0)
Dictionary
是无序的,因此尝试对字典进行排序并将其保存在字典中没有任何意义。这将为您提供List
键/值(int / Ship)对,按Engine
排序:
var orderedPairs = ShipList.OrderBy(x => x.Value.Engine).ToList();
答案 1 :(得分:0)
这将为您提供有序的收藏。请注意,如果您不需要对所有船只进行分类,则应该使用where子句对其进行限制,以减少对所有船舶进行分类的开销。
ShipList.Values.OrderBy(s => s.Attack);
答案 2 :(得分:0)
如果要确保订购实际字典,则需要使用SortedDictionary类,并提供自己的IComparer。标准词典不支持按键排序。
答案 3 :(得分:0)