想說只記錄最高分數前三筆,
想說每次都要一筆筆比較實再是太麻煩了,
就用一個list存起來,
排列後直接取前面三筆分數高的紀錄起來就好
上網查了一下,
發現LINQ友提供相關方法,
棒棒搭,
紀錄一下!
先引用:
using System.Linq;
List.Take(int cout):
功用:可以取出List前面n筆的資料
部分程式碼:
void ListTake()
{
List<int> list = new List<int> ();
list.Add (80);
list.Add (30);
list.Add (50);
list.Add (70);
list.Add (20);
list.Sort ((x,y)=>{return - x.CompareTo(y);});
list = list.Take (3).ToList<int> ();
for (int i = 0; i < list.Count; i++) {
Debug.Log ("No " + i.ToString () +" is :" + list [i]);
}
}
output:---No 0 is :80
No 1 is :70
No 2 is :50
------
後來想說,
那麼前三名以外的,
給個安慰獎好了,
想取得前三名之後的List
Skip就派上用場了!!!
List.Skip(int count):
功用:跳過前面n筆資料
部分程式碼:
void ListSkip()
{
List<int> list = new List<int> ();
list.Add (80);
list.Add (30);
list.Add (50);
list.Add (70);
list.Add (20);
list.Sort ((x,y)=>{return - x.CompareTo(y);});
list = list.Skip (3).ToList<int> ();
for (int i = 0; i < list.Count; i++) {
Debug.Log ( list [i]);
}
}
output:---30
20
------
沒有留言:
張貼留言