我试图在这里找到类似的东西,但它看起来不存在......
我有以下代码创建了包含多个元素的列表。其中一个要素是"值"我希望按以下方式对列表进行排序:
public int value;
public GameObject orbMesh;
public GameObject valueText;
public bool touchEnabled;
public GameObject theOrbMesh;
public GameObject theValueText;
List<Orb> myDeck = new List<Orb> ();
public Orb (int Value, GameObject OrbMesh, GameObject ValueText, bool TouchEnabled)
{
value = Value;
orbMesh = OrbMesh;
valueText = ValueText;
touchEnabled = TouchEnabled;
}
for (int z = 0; z < 4; z++)
{
for (int x = 0; x < 10; x++)
{
myDeck.Add (new Orb (x + 1, Instantiate (theOrbMesh, new Vector3 (-3.6f + (x * 0.8f), -0.68f, z * 0.8f), Quaternion.identity), Instantiate (theValueText, new Vector3 (-3.6f + (x * 0.8f), -1f, z * 0.8f), Quaternion.identity), true));
}
}
在此之后......我想用&#34;值&#34;来排序myDeck。所以我用过这个:
myDeck.OrderBy (w => w.value).ToList();
但它似乎只有在没有重复的情况下才能起作用......不幸的是,我需要重复这些&#34;价值&#34; ......
你可以帮我解决这个问题吗?非常感谢!!答案 0 :(得分:2)
好的,明白了......我很蠢......
myDeck.OrderBy (w => w.value).ToList();
应该是:
myDeck = myDeck.OrderBy (w => w.value).ToList();
似乎在某些时候我做了一个改变而且它根本没有排序......或者与我们的重复...所以......再次......我是愚蠢的:(