最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中LINQ多條件JOIN時為什么可以使用匿名類

 更新時間:2018年09月07日 17:04:34   作者:HNLY  
這篇文章主要給大家介紹了關于C#中LINQ多條件JOIN時為什么可以使用匿名類的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧

前言

本文主要介紹的是關于C#中LINQ多條件JOIN時為什么可以使用匿名類的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

我們先來看一下linq中如何在join中指定多個條件

public ActionResult Edit(int id)
  {
   using (DataContext db = new DataContext(ConfigurationManager.ConnectionStrings["sqlConnection"].ConnectionString))
   {
    IQueryable<ClassInformation> result = from c in db.GetTable<TClass>()
              join t in db.GetTable<TTeacher>()
              on new { id = c.ID, id1 = c.ID } 
              equals new { id = t.ClassID, id1 = id }
              select new ClassInformation { ID = c.ID, ClassID = t.ClassID, Name = c.Name, TeacherName = t.Name, Address = t.Address, Phone = t.Phone, Email = t.Email };
    ClassInformation k = result.Single();
    ViewData["K"] = k;
    return View();


   }

  }

C#中LINQ多條件JOIN時為什么可以使用匿名類

最近心血來潮突然想弄明白為什么LINQ中多條件JOIN的時候,使用new 匿名類就能成功,這是為什么呢?為什么LINQ用的equals 而不是常見的“==”?

隨后,進行了如下的測試,發(fā)現(xiàn)equals對匿名類對象和具名類對象的處理不太一致

進一步了解才發(fā)現(xiàn),

C#中,對匿名類的做了重寫,使得最開始LINQ中的條件判斷能夠成功。不過,根據(jù)測試能發(fā)現(xiàn),要讓兩個匿名對象相等,屬性屬性,屬性名和屬性值都必須一致才行。

進一步了解為什么equals對具名類對象的表現(xiàn)與匿名類對象的差異,發(fā)現(xiàn)equals只是object的虛方法,測試中自定義的類沒有重寫equals,再調用中調用了objects的方法而返回false。同時,也可以參考這個朋友的文章了解更多。

如下,是從SO上找到的關于“==”與equals的區(qū)別,

所以,通常equals比較的兩個對象的內容,“==”比較的是兩者是否是同一個東西。在自定義的類中,如果要用到對象比較,可以根據(jù)需要重寫equals來控制判斷邏輯。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • 用C#的params關鍵字實現(xiàn)方法形參個數(shù)可變示例

    用C#的params關鍵字實現(xiàn)方法形參個數(shù)可變示例

    params關鍵字以實現(xiàn)方法形參個數(shù)可變是C#語法的一大優(yōu)點,下面是用C#中的params關鍵字實現(xiàn)方法形參個數(shù)可變
    2014-09-09
  • C#實現(xiàn)windows form拷貝內容到剪貼板的方法

    C#實現(xiàn)windows form拷貝內容到剪貼板的方法

    這篇文章主要介紹了C#實現(xiàn)windows form拷貝內容到剪貼板的方法,涉及C#操作Clipboard的相關技巧,需要的朋友可以參考下
    2015-06-06
  • C#中調用MySQL存儲過程的方法

    C#中調用MySQL存儲過程的方法

    這篇文章主要介紹了C#中調用MySQL存儲過程的方法,涉及C#數(shù)據(jù)庫操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C# winform打開Excel文檔的方法總結(必看篇)

    C# winform打開Excel文檔的方法總結(必看篇)

    下面小編就為大家?guī)硪黄狢# winform打開Excel文檔的方法總結(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Unity shader實現(xiàn)遮罩效果

    Unity shader實現(xiàn)遮罩效果

    這篇文章主要為大家詳細介紹了Unity shader實現(xiàn)遮罩效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 使用C#在PDF中添加和刪除水印注釋

    使用C#在PDF中添加和刪除水印注釋

    PDF中的水印注釋是一種獨特的注釋類型,它通常以透明的文本或圖片形式疊加在頁面內容之上,為文檔添加標識或信息提示,這篇博客將探討如何使用C# 在PDF文檔中添加和刪除水印注釋,感興趣的小伙伴跟著小編一起來看看吧
    2025-02-02
  • C#利用ms office實現(xiàn)office轉pdf的示例代碼

    C#利用ms office實現(xiàn)office轉pdf的示例代碼

    這篇文章主要介紹了C#利用ms office實現(xiàn)office轉pdf的詳細方法,文中通過代碼示例和圖文講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • C#實現(xiàn)Nginx平滑加權輪詢算法

    C#實現(xiàn)Nginx平滑加權輪詢算法

    這篇文章主要為大家詳細介紹了C#實現(xiàn)Nginx平滑加權輪詢算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C#基礎教程之IComparable用法,實現(xiàn)List<T>.sort()排序

    C#基礎教程之IComparable用法,實現(xiàn)List<T>.sort()排序

    這篇文章主要介紹了C#的一些基礎知識,主要是IComparable用法,實現(xiàn)List<T>.sort()排序,非常的實用,這里推薦給大家。
    2015-02-02
  • 探究C#訪問null字段會拋異常原因

    探究C#訪問null字段會拋異常原因

    本文主要介紹了探究C#訪問null字段會拋異常原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論

平泉县| 镇江市| 调兵山市| 凯里市| 彩票| 库伦旗| 阿拉善盟| 文成县| 葫芦岛市| 新民市| 芜湖市| 五常市| 尚志市| 卓资县| 陕西省| 南宁市| 政和县| 哈尔滨市| 四子王旗| 乡宁县| 洱源县| 柯坪县| 耒阳市| 本溪市| 简阳市| 靖江市| 泾阳县| 厦门市| 那曲县| 邹城市| 平山县| 钟祥市| 科技| 松潘县| 扎兰屯市| 上思县| 连山| 东阳市| 新丰县| 手机| 铁岭县|