0评论

Unity中List Sort用法

文章来自互联网 2019-03-18 96浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏开发行业精英群711501594

本篇文章主要给大家介绍下在unity开发中List Sort的用法,具体介绍如下:

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; }
    }
}

以上就是List Sort基本的几种用法,希望可以帮到大家。