偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺析C# Anonymous Type

開發(fā) 后端
這里介紹C# Anonymous Type和一般的Named Type并沒有本質的區(qū)別。但是話不能太絕對,他們之間還是有一點小小的差異。

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


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是通過調用定義在Artech.NewFeatureInCSharp.Library中的Utility獲得,其余兩個則直接通過Inline的方式創(chuàng)建),第二部分也具有相同的代碼結構。

【編輯推薦】

  1. 淺析C# ArrayList
  2. C#對象初始化學習總結
  3. 使用C#正則表達式匹配相關字符串
  4. C#改寫方法學習筆記
  5. 概述C#加框和消框
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-17 16:32:34

C# Anonymou

2009-08-17 16:47:51

C# Anonymou

2009-08-14 17:45:52

C# ArrayLis

2009-08-17 18:34:50

C# ChangeCo

2009-08-07 17:25:37

C# SortedLi

2009-08-25 17:59:49

C#入門

2009-08-10 14:43:03

C#函數(shù)Convert

2009-08-21 15:57:58

C# DataSour

2009-07-31 16:00:30

C#函數(shù)重載

2009-08-04 09:30:33

C#調用ImageAn

2009-08-12 17:03:39

C# Static修飾

2009-08-06 14:43:10

C# Calculat

2009-08-11 14:45:41

C# DataGrid

2009-08-20 10:10:55

C#透明窗體

2009-08-21 17:24:06

C# SingleIn

2009-09-11 09:15:06

C# get方法

2009-08-12 15:20:21

C#事件處理

2009-08-17 13:34:02

C#異步操作

2009-08-26 13:07:07

C#交錯數(shù)組

2009-08-27 11:43:31

C#語法
點贊
收藏

51CTO技術棧公眾號