LINQ Take:从序列的开头返回指定数量的相邻元素。
public class TestScript : MonoBehaviour
{
private void Start()
{
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
var topThreeGrades = grades.OrderByDescending(grade => grade).Take(3);
Debug.Log("分数前三名的是:");
foreach (var topThreeGrade in topThreeGrades)
{
Debug.Log(topThreeGrade);
}
// 打印:98、92、85
}
}
UniRx Take 示意图
使用Take操作符让你可以修改Observable的行为,只返回前面的N项数据,然后发射完成通知,忽略剩余的数据。
public class TestScript : MonoBehaviour
{
private void Start()
{
this.UpdateAsObservable().Where(_ => Input.GetMouseButtonDown(0)).Take(5).Subscribe(_ => Debug.Log(1));
// 打印:只有前 5 次鼠标点击才会输出 1。
}
}