1. 程式人生 > >Linq 使用skip和take分頁

Linq 使用skip和take分頁

agen 復制 pos pan void int com nbsp 代碼

     static int Main(string[] args)
        {

            //每頁條數
            const int pageSize = 2;

            //頁碼 0就是第一條數據
            int pageNum = 0;

            string[] computer = { "蘋果", "聯想", "惠普", "Thinkpad", "三星", "VIVO", "OPPO", "華為", "小米", "微軟", "神州", "IBM" };

            while (pageNum * pageSize < computer.Length)
            {
                //分頁skip,take方法
                var page = computer.Skip(pageNum * pageSize).Take(pageSize);

                Console.WriteLine("輸出第{0}頁記錄", pageNum + 1);

                //輸出每頁內容
                foreach (var q in page)
                {
                    Console.WriteLine(q);
                }
                pageNum++;

            }

            Console.ReadKey();

            return 0;  //如果是static void Main,則會報錯
        }
技術分享圖片

list = list.Skip(pageNum* pageSize).Take(pageSize).ToL
list = list.Skip(2 * 2).Take(2).ToList();

pageSize:表示每頁有多少條數據
pageNum:表示頁數,正確表達式pageNum+1。pageNum=0,是第一頁。pageNum=1,是第二頁。
Skip:表示從pageNum* pageSize+1條開始算,原來就有pageNum* pageSize條數據
Take:等於pageSize的值,也可以直接用int類型表示

pageNum* pageSize=4,前面有4條數據,從第5條開始,顯示第3頁的內容

Linq 使用skip和take分頁