如何按照降序對通用列表中的相同值字段進行排序。對列表中的相同值字段進行排序
例子:
List<int> objList = new List<int>();
objList.Add(1);
-> objList.Add(0);
-> objList.Add(0);
objList.Add(2);
-> objList.Add(0);
這是我的源不知何故,我想以降序模式零個值進行排序,例如。
我使用這個代碼來排序數字(實際上是深度),上面的例子與此無關,但不知何故它是相同的。在我的通用列表中,我有幾個深度,它們可能彼此相同,我想要下降相同的字段。
Objects.Sort(
delegate(Classes.Object.GameObject Object1, Classes.Object.GameObject Object2)
{
return Object1.Depth.CompareTo(Object2.Depth);
}
);
答:可能有助於有人在未來
// Reverse same oredered
CurrentSameOrderedFind = Objects[0].Depth;
CurrentSameOrderedID = 0;
for (int i = 1; i <= Objects.Count - 1; i++)
{
if (Objects[i].Depth != CurrentSameOrderedFind)
{
SameOrederedFound = true;
Objects.Reverse(CurrentSameOrderedID, i - 1);
CurrentSameOrderedFind = Objects[i].Depth;
CurrentSameOrderedID = i;
}
}
if (!SameOrederedFound)
{
Objects.Reverse();
}
你的問題很不清楚。例如,「上面的例子與此無關,但不知何故它是相同的」 - 這是什麼意思?如果你能更清楚地解釋這個問題,我們更有可能幫助你。 –
:)我不知道應該擴展多少。很簡單,按降序對相同的值域重新排序。這就像你有'(Field [0] = 0,Field [1] = 1,Field [2] = 0)'然後結果應該是'(Field [2],Field [0],Field [1] );'簡單! – MahanGM
不,一點也不簡單 - 你說的「同樣價值的領域」究竟意味着什麼?如果你可以給出一個簡短但完整的例子來顯示你的輸入和期望的輸出,那真的會有幫助。 –