Unity List Sort

1.C# List 的 Sort 按F12可以跳转到

public void Sort(Comparison<T> comparison);

所以可以写个类似这样的委托泛型T比较,范围数值为int 型的
比如如下

 private int CompareByTotalTime(int x,int y)
 {
     return y.CompareTo(x);
 }

然后有一个List list ;
就可以按照

list.Sort(CompareByTotalTime); 这样就会按降序排列

总结 ,这个比较可以是一个类等等,或者其它的比如

public class SpeakingPushManager : MonoBehaviour {
public  List<RecordObject> ListRecordTime ;

public void SortPushSceneSequenceByTime()
{
   ListRecordTime.Sort(CompareByTotalTime);
}


private int CompareByTotalTime(RecordObject x,RecordObject y)
 {
        return y.TotalTime.CompareTo(x.TotalTime);
 }

}


[System.Serializable]
public class RecordObject {

    public SceneName SceneName;
    private float beginTime;
    private float endTime;
    private float totalTime;

    public void AddPlayGameTime()
    {
        totalTime += (Time.time - BeginTime);
    }

    public void BeginRecordTime()
    {
        beginTime = Time.time;
    }

    public float BeginTime
    {
        get { return beginTime; } 
        set { beginTime = value; }
    }

    public float EndTime
    {
        get { return endTime; }
        set { endTime = value; }
    }

    public float TotalTime
    {
        get { return totalTime; }
        set { totalTime = value; }
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,List的排序可以使用Sort方法来实现。你可以根据需要使用不同的比较方法来进行排序。比如,如果你有一个List<int>,你可以使用以下代码进行升序排序: List<int> lst = new List<int>() { 202, 20, 40, 230, 220, 240 }; lst.Sort((x, y) => x.CompareTo(y)); 这将按照数字的大小对列表进行升序排序。如果你想要降序排序,你可以使用以下代码: lst.Sort((x, y) => -x.CompareTo(y)); 这将按照数字的大小对列表进行降序排序。你也可以根据需要使用其他的比较方法来进行排序,比如使用Tuple来进行多权重比较。希望这可以帮助到你。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Unity 基础 之 List Sort 升降排序,List 对多数按权重排序,List 对自定义类 排序](https://blog.csdn.net/u014361280/article/details/105961487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [UNITYList.Sort的BUG](https://blog.csdn.net/weixin_34090643/article/details/93700393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值