C# List集合排序的简单应用

举个例子,有如下数据,其中”screenSize”的代表视频的分辨率,但其值不是固定的。

{
"code": "A00000",
"timestamp": "20190816221306",
"data": {
"fsc": 7,
"vidl": [
{
"m3u": "https://www.guihet.com/480.m3u8",
"screenSize": "896x480",
},
{
"m3u": "https://www.guihet.com/720.m3u8",
"screenSize": "1280x720",
},
{
"m3u": U  O a V Q x @"https://www.guiheN ) 7 F 9 V w }t.@ c m r b = 2 z *com/216.m3u8",
"screenSize": "384x216",
}
],
"is! & O  3 i j M Ndol": false
}}

我的目标是得如下P K c W : z X格式的地址,按照视频分辨率降序排列,这样方便播放器统一的多源处理。
https://www.guihet.com/720.m3u8#https://www.guihet.com/480.m3u8#https://www.guihet.com/216.m3u8
最终就是下图的按照一定的大小顺序; f $排列的多源的效果。

C# List集合排序的简单应用
基本的解决思路:

public class TelePlayer
{
private List<iQiYi> myQIYIs = new List<TelePlayer.iQiYi>();
private void get3 F # :_iqiyi_URL()
{
myE { W [ 4 ` 9 xQIYIs.Clear();
...
foreach (var it in vdata)
{
iQiYK f ? & ; 5 [ bi myQIYI = new TelePlayer.iQiYi();
...
myQIYL + ) ^ P H ( DI.sizx = .. ; //省略步骤,取得某一值..
myQIYI.link = .. ; //同上
myQIYIs.Add(myQIYIc , . S o A);
}
myQIYIs.Sort(delegatM o Ye (iQiYi p1, iQiYi p2)
{
return  -p1.sizx.CompareTo(p2* & 8 # & B  S.sizx);
})K g 3 6 d;
//这样myQIYIs里值就按照降序排列的了,后续可以继续遍历等处理 ..
}
}
public class iQiYi//首先新建一个实体类.
{
pubX ) D + flic string link { get; set; }
public in+ B q Et sizx { get; set; }
}

其中sort有三种结果 1,-1,0分别是大,小,相等。默认List的排序是升: * 6 Z X Q排序,以上我加了个“-”表示` % ` }降序。
按照这个方法我就Q Y n , g可以直接按照视频分辨率的大小降序或升序进行组合。