日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析C#AnonymousType

C# Anonymous Type和一般的Named Type并沒有本質(zhì)的區(qū)別。但是話不能太絕對,他們之間還是有一點小小的差異。到底是什么樣差異,我在這里先賣一個關子。在具體介紹這個差異的時候,我們先來看看一個Sample:

創(chuàng)新互聯(lián)專注于景東網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供景東營銷型網(wǎng)站建設,景東網(wǎng)站制作、景東網(wǎng)頁設計、景東網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務,打造景東網(wǎng)絡公司原創(chuàng)品牌,更為您提供景東網(wǎng)站排名全網(wǎng)營銷落地服務。

Artech.NewFeatureInCSharp.Library中定一個Employee Type:

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Linq;  
  4. usingSystem.Text;  
  5.  
  6. namespaceArtech.NewFeatureInCSharp.Library  
  7. {  
  8. publicclassEmployee  
  9. {  
  10. privateGuid_id;  
  11. privatestring_name;  
  12.  
  13. publicGuidID  
  14. {  
  15. get{return_id;}  
  16. set{_id=value;}  
  17. }  
  18.  
  19. publicstringName  
  20. {  
  21. get{return_name;}  
  22. set{_name=value;}  
  23. }  
  24. }  

和一個Static的Utility Class:

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Linq;  
  4. usingSystem.Text;  
  5.  
  6. namespaceArtech.NewFeatureInCSharp.Library  
  7. {  
  8. publicstaticclassUtility  
  9. {  
  10. publicstaticobjectAnonymous_GetEmployee(Guidid,stringname)  
  11. {  
  12. returnnew{ID=id,Name=name};  
  13. }  
  14.  
  15. publicstaticEmployeeGetEmployee(Guidid,stringname)  
  16. {  
  17. returnnewEmployee{ID=id,Name=name};  
  18. }  
  19. }  

在Utility中定義了兩個GetEmployee方法,分別返回以Anonymous Type形式和Named Type形式的Employee對象。

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Linq;  
  4. usingSystem.Text;  
  5. usingArtech.NewFeatureInCSharp.Library;  
  6.  
  7. namespaceArtech.NewFeatureInCSharp.ConsoleApp  
  8. {  
  9. classProgram  
  10. {  
  11. staticvoidMain(string[]args)  
  12. {  
  13. varv1=new{ID=Guid.NewGuid(),Name="ZhangSan"};  
  14. varv2=new{ID=Guid.NewGuid(),Name="LiSi"};  
  15. varv3=Utility.Anonymous_GetEmployee(Guid.NewGuid(),"WangWu");  
  16. Console.WriteLine("varv1=new{ID=Guid.NewGuid(),Name=\"ZhangSan\"};");  
  17. Console.WriteLine("varv2=new{ID=Guid.NewGuid(),Name=\"LiSi\"};");  
  18. Console.WriteLine("varv3=Utility.Anonymous_GetEmployee(Guid.NewGuid(),\"WangWu\");");  
  19.  
  20. Console.WriteLine("\nv1.GetType()={0}",v1.GetType());  
  21. Console.WriteLine("v2.GetType()={0}",v2.GetType());  
  22. Console.WriteLine("v3.GetType()={0}",v3.GetType());  
  23.  
  24. Console.WriteLine("\nobject.ReferenceEquals(v1.GetType(),v2.GetType())={0}",
    object.ReferenceEquals(v1.GetType(),v2.GetType()));  
  25. Console.WriteLine("object.ReferenceEquals(v1.GetType(),v3.GetType())={0}",
    object.ReferenceEquals(v1.GetType(),v3.GetType()));  
  26.  
  27. Console.WriteLine("\n\n");  
  28.  
  29. varv4=newEmployee{ID=Guid.NewGuid(),Name="ZhangSan"};  
  30. varv5=newEmployee{ID=Guid.NewGuid(),Name="LiSi"};  
  31. varv6=Utility.GetEmployee(Guid.NewGuid(),"WangWu");  
  32. Console.WriteLine("varv4=newEmployee{ID=Guid.NewGuid(),Name=\"ZhangSan\"};");  
  33. Console.WriteLine("varv5=newEmployee{ID=Guid.NewGuid(),Name=\"LiSi\"};");  
  34. Console.WriteLine("varv6=Utility.GetEmployee(Guid.NewGuid(),\"WangWu\");");  
  35.  
  36. Console.WriteLine("\nv4.GetType()={0}",v4.GetType());  
  37. Console.WriteLine("v5.GetType()={0}",v5.GetType());  
  38. Console.WriteLine("v6.GetType()={0}",v6.GetType());  
  39.  
  40. Console.WriteLine("\nobject.ReferenceEquals(v4.GetType(),v5.GetType())={0}",
    object.ReferenceEquals(v4.GetType(),v5.GetType()));  
  41. Console.WriteLine("object.ReferenceEquals(v4.GetType(),v6.GetType())={0}",
    object.ReferenceEquals(v4.GetType(),v6.GetType()));  
  42. }  
  43. }  

代碼不復雜,我在這里簡單介紹一下整體的結構。這個結構分兩部分,第一部分是基于C# Anonymous Type的,另一部分是基于Named Employee Type的。在第一部分中,我首先創(chuàng)建了3個C# Anonymous Type的Instance:v1、v2和v3(v3是通過調(diào)用定義在Artech.NewFeatureInCSharp.Library中的Utility獲得,其余兩個則直接通過Inline的方式創(chuàng)建),第二部分也具有相同的代碼結構。


新聞標題:淺析C#AnonymousType
分享鏈接:http://www.dlmjj.cn/article/dppeijo.html