<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 如何:執行左外部聯接(C# 編程指南) 左外部聯接是這樣一個聯接:在其中返回第一個集合的每個元素,而無論該元素在第二個集合中是否具有相關元素。可以使用 LINQ 執行左通過對分組聯接的結果調用方法 [DefaultIfEmpty&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb360179.aspx) 外部聯接連接。 下面的示例演示如何對分組聯接的結果調用 [DefaultIfEmpty&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb360179.aspx) 方法來執行左外部聯接。 若要生成兩個集合的左外部聯接,第一步是使用分組聯接執行內部聯接。(有關此過程的說明,請參見[如何:執行內部聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397941.aspx)。)在此示例中,Person 對象的列表內部聯接到 Pet 對象列表。Person 對象的匹配 Pet.Owner。 第二步是在結果集內包含第一個(左)集合的每個元素,即使該元素在右集合中沒有匹配的元素也是如此。這是通過對分組聯接中的每個匹配元素序列調用 [DefaultIfEmpty&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb360179.aspx) 來實現的。在此示例中,[DefaultIfEmpty&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb360179.aspx) 對匹配 Pet 對象每個序列。方法返回一個包含單個集合,因此,如果匹配 Pet 對象序列為任何 Person 對象為空,從而確保的默認值每 Person 對象在結果集合表示。 | ![](https://box.kancloud.cn/2016-01-31_56adb62c1380a.jpg) 注意 | | :-- | | 引用類型的默認值為 **null**;因此,該示例檢查空在訪問每個 Pet 集合的每個元素之前引用。 | ``` class Person { public string FirstName { get; set; } public string LastName { get; set; } } class Pet { public string Name { get; set; } public Person Owner { get; set; } } public static void LeftOuterJoinExample() { Person magnus = new Person { FirstName = "Magnus", LastName = "Hedlund" }; Person terry = new Person { FirstName = "Terry", LastName = "Adams" }; Person charlotte = new Person { FirstName = "Charlotte", LastName = "Weiss" }; Person arlene = new Person { FirstName = "Arlene", LastName = "Huff" }; Pet barley = new Pet { Name = "Barley", Owner = terry }; Pet boots = new Pet { Name = "Boots", Owner = terry }; Pet whiskers = new Pet { Name = "Whiskers", Owner = charlotte }; Pet bluemoon = new Pet { Name = "Blue Moon", Owner = terry }; Pet daisy = new Pet { Name = "Daisy", Owner = magnus }; // Create two lists. List<Person> people = new List<Person> { magnus, terry, charlotte, arlene }; List<Pet> pets = new List<Pet> { barley, boots, whiskers, bluemoon, daisy }; var query = from person in people join pet in pets on person equals pet.Owner into gj from subpet in gj.DefaultIfEmpty() select new { person.FirstName, PetName = (subpet == null ? String.Empty : subpet.Name) }; foreach (var v in query) { Console.WriteLine("{0,-15}{1}", v.FirstName + ":", v.PetName); } } // This code produces the following output: // // Magnus: Daisy // Terry: Barley // Terry: Boots // Terry: Blue Moon // Charlotte: Whiskers // Arlene: ``` ## 編譯代碼 * 在 Visual Studio 中創建一個新的控制臺應用程序項目。 * 添加對 System.Core.dll 的引用(如果尚未引用它的話)。 * 包含 [System.Linq](https://msdn.microsoft.com/zh-cn/library/system.linq.aspx) 命名空間。 * 復制和粘貼該示例的代碼添加到 program.cs 文件中,在 Program 選件類的 Main 方法。添加代碼行。Main 方法調用 LeftOuterJoinExample 方法。 * 運行該程序。 ## 請參閱 [Join](https://msdn.microsoft.com/zh-cn/library/system.linq.enumerable.join.aspx) [GroupJoin](https://msdn.microsoft.com/zh-cn/library/system.linq.enumerable.groupjoin.aspx) [Join Operations](https://msdn.microsoft.com/zh-cn/library/bb397908.aspx) [如何:執行內部聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397941.aspx) [如何:執行分組聯接(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397905.aspx) [匿名類型(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/bb397696.aspx) [匿名類型 (Visual Basic)](https://msdn.microsoft.com/zh-cn/library/bb384767.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看