前言


上一篇《從LINQ開始之LINQ to Objects(上)》主要介紹了LINQ的體系結(jié)構(gòu)、基本語(yǔ)法以及LINQ to Objects中標(biāo)準(zhǔn)查詢操作符的使用方法。

本篇?jiǎng)t主要討論LINQ to Objects中的擴(kuò)展方法以及延遲加載等方面的內(nèi)容。


擴(kuò)展方法


1.擴(kuò)展方法簡(jiǎn)介

  擴(kuò)展方法能夠向現(xiàn)有類型“添加”方法,而無(wú)需創(chuàng)建新的派生類型、重新編譯或其他方式修改原始類型。擴(kuò)展方法是靜態(tài)方法,它是類的一部分,但實(shí)際沒有放在類的源代碼當(dāng)中。

下面,我們來(lái)看一個(gè)簡(jiǎn)單示例,為上一篇中定義的Employee類添加擴(kuò)展方法GetSeniority獲取員工在本公司的工齡:

public static class EmployeeExtension{    /// <summary>
    /// 計(jì)算員工在本公司的工齡
    /// </summary>
    ///