我試圖弄清楚如何在 Unity 中對嵌套串列進行排序。我有我的:
[System.Serializable]
public class HistoryRecordList
{
public int recordDate;
public string record;
}
我的清單在這里:
public class InputMachine : MonoBehaviour
{
public List<HistoryRecordList> historyRecords = new List<HistoryRecordList>();
public void AddToHistory(int ID, string description)
{
HistoryRecordList list = new HistoryRecordList();
list.recordDate = ID;
list.record = description;
historyRecords.Add(list);
}
}
我喜歡按記錄日期對串列“historyRecords”進行排序;我知道,有一個 list.Sort() 函式,但我不知道如何將它應用于嵌套串列。也許有人知道該怎么做?
uj5u.com熱心網友回復:
有很多方法可以解決這個問題。
LINQ
實施(升序)
private static List<HistoryRecordList> SortRecordDate(IEnumerable<HistoryRecordList> list)
{
return list.OrderBy(x => x.recordDate).ToList();
}
如何使用
historyRecords = SortRecordDate(historyRecords);
List<>.Sort(Comparison<T>)
實施(升序)
private static void SortRecordDate(List<HistoryRecordList> list)
{
list.Sort((x, y) => x.recordDate.CompareTo(y.recordDate));
}
實施(降序)
private static void SortRecordDate(List<HistoryRecordList> list)
{
list.Sort((x, y) => y.recordDate.CompareTo(x.recordDate));
}
如何使用
SortRecordDate(historyRecords);
希望你的問題得到解決:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/493348.html
