成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解釋.NET之匿名對(duì)象(AnonymousObject)

開發(fā) 后端
今天我們要談?wù)?NET中的匿名對(duì)象(AnonymousObject),希望對(duì)大家了解更多基礎(chǔ)知識(shí)有所幫助。

本文旨在與園有分享我對(duì) .NET 匿名對(duì)象的認(rèn)識(shí),如果存在不足的地方歡迎指出。

前言:最近園子里面大談程序員基礎(chǔ)知識(shí)的文章,基礎(chǔ)知識(shí)的重要性無(wú)需多論了。看到大家對(duì)基礎(chǔ)知識(shí)的評(píng)論后突然想到這么一個(gè)場(chǎng)景。曾經(jīng)有個(gè)同事問我:有一個(gè)匿名對(duì)象想做為一個(gè)函數(shù)的返回值,可以么?我當(dāng)時(shí)堅(jiān)定的回答---不可以。而他也深信不疑,似乎真的實(shí)現(xiàn)不了。如果我沒記錯(cuò)的話當(dāng)時(shí)是.NET3.5環(huán)境,如果當(dāng)時(shí)是.NET4.0的話我就大錯(cuò)特錯(cuò)了。

開始切入主題,我對(duì).NET 匿名對(duì)象的認(rèn)識(shí)如下:

一、.NET3.5時(shí)代開始引入匿名對(duì)象概念

 .NET3.0 時(shí),微軟加入了匿名對(duì)象到.net 中。javascript 程序員對(duì)匿名對(duì)象并不陌生。但是對(duì)于當(dāng)時(shí)的.NET程序員而言,應(yīng)該屬于一個(gè)新鮮事物。.NET4.0可以讓我們實(shí)例化對(duì)象而不需要為該對(duì)象定義類。如何理解“實(shí)例化對(duì)象而不需要為該對(duì)象定義類”,還是用代碼來(lái)解釋吧:

  1. private static Object GetAnonymousObj()   
  2. {   
  3.   Object anonymousObj = new { UserName = "admin", Password = "1111" };   
  4.   return anonymousObj;   

這里并未在實(shí)例化對(duì)象前為anonymousObj對(duì)象建立相關(guān)的類,所以稱anonymousObj對(duì)象為匿名對(duì)象。

二、.NET 4.0中將匿名對(duì)象作為函數(shù)返回值

回到本文開頭引入的前言部分-- 匿名對(duì)象可以作為函數(shù)返回值么?在.NET4.0中這個(gè)已經(jīng)成為現(xiàn)實(shí)。

請(qǐng)看一下代碼范例,將匿名對(duì)象作為返回值:

  1. private static Object GetAnonymousObj()   
  2. {   
  3.    Object anonymousObj = new { UserName = "admin", Password = "1111" };   
  4.    return anonymousObj;   

很簡(jiǎn)單的一段代碼,讓我們將anonymousObj這個(gè)匿名對(duì)象作為了函數(shù)返回值。但是在調(diào)用該函數(shù)時(shí)發(fā)現(xiàn)了問題,我們沒法這樣做:

  1. Object obj = GetAnonymousObj();  
  2. Console.WriteLine(obj.UserName); // 這里將無(wú)法編譯。因?yàn)閛bj對(duì)象是Object類型。 

因此在.net3.5時(shí),我告訴同事這個(gè)還是不要這樣實(shí)現(xiàn)的好。換個(gè)方法吧?當(dāng).NET4.0時(shí)代來(lái)臨時(shí),我們的問題得到妥善的解決 ---- 首先由Dynamic 類型隆重登場(chǎng):(Dynamic簡(jiǎn)單介紹)

先將上文中的GetAnonymousObj函數(shù)改造成返回dynamic 類型:

  1. private static dynamic GetAnonymousObj()   
  2. {   
  3.    dynamic anonymousObj = new { UserName = "admin", Password = "1111" };   
  4.   return anonymousObj;   

接著調(diào)用GetAnonymousObj()方法:

  1. static void Main(string[] args)   
  2. {   
  3.   dynamic o = GetAnonymousObj();   
  4.    Console.WriteLine(o.UserName);   
  5.   Console.ReadKey();   

輸出>>admin.

匿名對(duì)象也許在您的項(xiàng)目中運(yùn)用的并不是很多,但我的項(xiàng)目大部分是建立在LinqToSQL的基礎(chǔ)上,所以我們常常會(huì)寫出這樣的代碼:在LINQ查詢語(yǔ)句中使用匿名對(duì)象。比如:

view sourceprint?1 var user = from user in Users 

2  select new { user.Name, user.Id} //匿名對(duì)象

三、.NET中匿名對(duì)象的其他注意事項(xiàng)

匿名對(duì)象繼承于System.Object。

匿名對(duì)象屬性均為只讀屬性(ReadOnly)。

在同一個(gè)程序集內(nèi),兩個(gè)匿名對(duì)象具有相同的屬性、相同的屬性順序。編譯器將認(rèn)為這兩個(gè)匿名對(duì)象是相同的。 

最后希望本篇文章可以給您帶來(lái)幫助,如有不足之處歡迎指出,謝謝!

原文鏈接:http://www.cnblogs.com/ryanding/archive/2010/12/14/1904374.html

【編輯推薦】

  1. .NET Framework字符串相關(guān)操作細(xì)節(jié)介紹
  2. 詳解.NET字符串解析的具體過(guò)程
  3. 改進(jìn)C#連接字符串的性能
  4. .NET Lambda表達(dá)式的語(yǔ)義:字符串列表范例
  5. C#字符串的幾種常用方法

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2009-09-01 10:58:46

C#匿名類型對(duì)象

2010-01-05 15:43:13

.NET Framew

2009-12-30 15:17:06

ADO.NET選項(xiàng)

2009-07-28 13:02:28

asp.net

2009-03-13 10:12:18

變量共享匿名方法.NET

2013-08-21 17:20:49

.NET面向?qū)ο?/a>

2009-12-09 09:30:55

Visual Stud

2020-10-05 21:33:15

隱私數(shù)據(jù)匿名數(shù)據(jù)安全

2014-01-21 09:15:12

Python函數(shù)

2010-01-04 14:11:51

ADO.Records

2009-12-22 14:52:54

ADO.NET腳本

2009-12-22 15:51:18

ADO.NET代碼

2009-12-23 15:13:15

Ado.Net Syb

2014-01-21 09:42:32

Python代碼對(duì)象

2021-07-07 10:31:19

對(duì)象池模式解釋器模式設(shè)計(jì)模式

2017-01-05 15:13:03

Java數(shù)組算法解釋

2010-01-14 14:30:09

VB.NET匿名類型

2009-12-18 14:01:07

ADO.NET體系結(jié)構(gòu)

2009-07-30 18:32:42

2009-11-24 13:23:11

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲欧美中文日韩在线 | 亚洲成人免费电影 | 偷拍自拍网站 | 在线观看国产视频 | 国产96色在线 | 久久激情网 | 国产精品毛片无码 | 免费成人高清 | 久久久久国产精品一区二区 | 一本大道久久a久久精二百 国产成人免费在线 | 成人精品在线 | 在线国产精品一区 | 国产精品视频一二三区 | 中文字幕福利视频 | 在线色网| 在线一区观看 | 国产一区二区三区四区五区3d | 国产欧美日韩一区二区三区 | 国家一级黄色片 | 成人看片在线观看 | 91精品一区二区三区久久久久久 | 亚洲一区二区三区四区五区中文 | 欧美国产日本一区 | 国产色网 | 天天摸天天干 | 九九热在线视频观看这里只有精品 | 国产视频第一页 | 亚洲成人免费视频 | 黄色网一级片 | 国产精品国产成人国产三级 | a国产视频| 成年人在线 | www.国产精| 国产三级电影网站 | 久久美女网 | 国产精品免费大片 | 午夜天堂精品久久久久 | 亚洲精品自在在线观看 | 亚洲一区综合 | 日韩一区精品 | 好姑娘影视在线观看高清 |