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

VB.NET匿名類型可變與不可變之間區(qū)別

開發(fā) 后端
可變匿名類型與不可變匿名類型是VB.NET匿名類型的兩種類型。我們可以通過本文介紹的內(nèi)容對這兩種類型的使用規(guī)則進(jìn)行一個詳細(xì)了解。

VB.NET中,有很多比較新的概念值得我們?nèi)ド钊氲难芯俊1热缒涿愋偷?。我們通過學(xué)習(xí)可以知道,VB.NET匿名類型只要可以分為兩種,一種是可變匿名類型;另一種則是不可變匿名類型。對于這兩種匿名類型,實現(xiàn)和使用的規(guī)則也略有不同。#t#

不可變的VB.NET匿名類型

C#和VB.NET中的不可變匿名類型完全相同。這些匿名類型都是一些只讀的屬性集合,還包含有Equals、ToString、GetHashCode等方法的重載。從反編譯的代碼中可以看出,二者的實現(xiàn)存在著些許不同,不過結(jié)果卻是一樣的:Equals和GetHashCode方法都基于類型中的所有字段計算得出。

C#只允許我們使用不可變的匿名類型。而在VB.NET中若想得到不可變的匿名類型,我們需要使用Select子句或者在類型中每個字段前面加上Key關(guān)鍵字,例如:

  1. var a = new { Name = "Tom"Age = 25 };   
  2. […]   
  3. Select c.Name, c.Age   
  4. […]   
  5. Select New With {Key c.Name, Key c.Age}   
  6. Dim a = New With {Key .Name = "Tom", Key .Age = 25}  

可變的VB.NET匿名類型

相對于不可變匿名類型,VB.NET中可變的匿名類型則簡單得多。這些類型沒有Equals或GetHashCode方法,因此若想比較兩個對象,我們必須手工進(jìn)行??勺兊哪涿愋鸵膊粫詣訛樽侄紊蓪傩缘腟etter。

例如:

 

  1. […]   
  2. Select New With   
  3. {   
  4. c.Name, c.Age  
  5. }   
  6. Dim b = New With   
  7. {   
  8. .Name = "Tom".Age = 25 

 

部分可變的VB.NET匿名類型

若是匿名類型中的某些(但不是全部)字段被標(biāo)記為Key,那么我們就創(chuàng)建了一個部分可變的匿名類型。對于這種類型,標(biāo)記為Key的字段是只讀的,而沒有標(biāo)記為Key的字段則可讀可寫。

對于部分可變的匿名類型,使用其Equals或GetHashCode方法必須格外小心——只有標(biāo)記為Key的字段將用于這兩個方法中的計算,而其他可變的字段將被忽略。這樣的實現(xiàn)有利于把可變字段放置在哈希表中,以提高查詢時的效率。

例如:

 

  1. […]   
  2. Select New With   
  3. {  
  4. Key c.Name, c.Age  
  5. }   
  6. Dim c = New With   
  7. {  
  8. Key .Name = "Tom".Age = 25 
  9. }  

VB.NET匿名類型的一些相關(guān)介紹就為大家介紹到這里。

責(zé)任編輯:曹凱 來源: 中國IT實驗室
相關(guān)推薦

2024-02-26 10:47:09

Python數(shù)據(jù)類型開發(fā)

2024-04-08 07:58:11

Python數(shù)據(jù)類型字符串

2022-07-13 16:38:32

Python可變數(shù)據(jù)類型不可變數(shù)據(jù)類型

2009-11-02 17:12:01

VB和VB.NET

2010-01-15 10:47:15

VB.NET命名空間

2009-10-13 14:38:10

VB.NET訪問類型

2009-10-10 17:06:09

VB和VB.NET

2023-06-07 19:17:14

UbuntuKDELinux

2009-08-28 15:35:31

C#與VB.net

2010-01-14 14:21:07

2010-01-22 10:27:02

VB.NET類型提升

2010-01-08 16:19:00

VB.NET類型單位命

2009-10-13 16:05:07

VB.NET字符數(shù)據(jù)類

2009-10-14 14:50:16

VB6.0VB.NET

2009-10-23 12:53:25

VB.NET語言

2009-10-29 14:02:24

VB和VB.NET比較

2024-09-24 08:36:18

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-10-20 14:21:55

VB.NET fnSi
點贊
收藏

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

主站蜘蛛池模板: 中文字幕免费在线 | 欧美精品一区二区三区四区 在线 | 99精品视频网 | 亚洲一区二区三区在线视频 | av一区在线 | 日韩免费一区二区 | 亚洲综合资源 | 成人亚洲在线 | 欧美久久一区二区三区 | 91精品久久久久久久久 | 久久剧场| xnxx 日本免费 | 少妇淫片aaaaa毛片叫床爽 | 在线视频国产一区 | 自拍亚洲 | 亚洲欧美一区二区在线观看 | 成人免费观看男女羞羞视频 | 日韩日韩日韩日韩日韩日韩日韩 | 精品国产乱码久久久久久蜜柚 | 国产一区二区三区免费 | 日本精品久久久久久久 | 国产91中文| 国产美女在线精品免费 | 国产精品99久久久久久久久久久久 | 免费福利视频一区二区三区 | 成人久久久| 亚洲一区欧美一区 | 欧美成人精品欧美一级 | 欧美一区二区在线观看 | 成人在线免费观看 | 九九热在线免费视频 | 亚洲成人自拍 | 日韩欧美国产精品一区 | 国产精品国产馆在线真实露脸 | 在线一区视频 | 一级欧美 | 中文字幕综合在线 | 国产高清精品一区 | 国产激情在线观看视频 | 欧美激情久久久 | 成人在线电影网站 |