C#数组根据字段排序
浅记一下
1. List/Array.OrderBy()
public void Test()
{
Data[] _dataArr = new Data[5];
_dataArr[0] = new Data(1, 10);
_dataArr[1] = new Data(2, 3);
_dataArr[2] = new Data(3, 9);
_dataArr[3] = new Data(4, 18);
_dataArr[4] = new Data(5, 1);
Data[] _arr = _dataArr.OrderBy(_data => _data.Value).ToArray();
_arr = _dataArr.OrderByDescending(_data => _data.Value).ToArray();
foreach (var item in _arr)
{
Debug.Log(item.Value);
}
}
public class Data
{
public int ID;
public int Value;
public Data(int _id,int _value)
{
ID = _id;
Value = _value;
}
}
2. Array.Sort()
public void Test()
{
Data[] _dataArr = new Data[5];
_dataArr[0] = new Data(1, 10);
_dataArr[1] = new Data(2, 3);
_dataArr[2] = new Data(3, 9);
_dataArr[3] = new Data(4, 18);
_dataArr[4] = new Data(5, 1);
Array.Sort(_dataArr, (a, b) => a.Value.CompareTo(b.Value));
Array.Sort(_dataArr, (a, b) => b.Value.CompareTo(a.Value));
foreach (var item in _dataArr)
{
Debug.Log(item.Value);
}
}
public class Data
{
public int ID;
public int Value;
public Data(int _id,int _value)
{
ID = _id;
Value = _value;
}
}