日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

闲谈.NET中的类型和访问修饰符

發布時間:2023/12/18 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 闲谈.NET中的类型和访问修饰符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于類型

關于.NET中類型,在網上很多地方我們可以看到的是:值類型和引用類型兩種。我也這么認為的,貌似這樣認為也沒有錯。但本文從學術角度來說說,想到哪里就說到哪里了,各位就當是茶語飯后喝其他同事閑談扯淡,聽聽就行,百家爭鳴,不洗勿噴。

其實還有兩種,如下:

簡單的說一下:

Value types:繼承自System.ValueType的類型。

Generic type parameters:帶泛型參數的類型,即DebugLZQ在泛型中提到過的所謂“開類型”,其特點是在T被指定之前無法被實例化。可參考下DebugLZQ前面的這篇博文:淺談.NET中泛型的基本原理?

pointer types:指針類型,一種unsafe的非托管類型。

Reference types:非以上三種類型的其他類型。需要注意的是System.ValueType和所有的引用類型都繼承自 System.Object基類。

我們通常講,在.NET中System.Object是所有類型的基類,其實我們完全也可以自己定義一個類不繼承自System.Object,只不過.NET強烈不推薦我們這樣去做。有興趣的可以去查下CLR,看看具體的實現。其實.NET中所有的既有的接口,例如IList、IEmumerable、ICollection,都不繼承自System.Object,因為當你打開其IL你找不到extends System.Object這樣的標識,其實接口不繼承自任何類。參見王濤的這篇博文:[你必須知道的.NET]第二十七回:interface到底繼承于object嗎?

關于訪問修飾符?

本來沒打算寫這塊,既然都說了類型了,就把訪問修飾符也拿過來寫寫,湊個字數 - -!。

?

做個表格解釋下:

C# 術語

CLR術語

private

Private

protected

Family

不支持

Family and Assembly

internal

Assembly

protected internal

Family or Assembly

public

Public

?

?

?

?

?

?

?

?

?

?

?

仍記得面試這家公司時,技術副總聊的第一個問題就是.NET類型和訪問修飾符,當時我回答的是后者,然后聊得很愉快。

記得說下本文中的截圖來自《C# 5.0 in a Nutshell》,之所以用截圖,是為了增加本文的說服性。(無憑無證,誰閑的蛋疼聽你瞎扯淡, - -!)

沒什么高端的技術,高手繞行、輕拍...

?

轉載于:https://www.cnblogs.com/DebugLZQ/archive/2013/05/30/3103632.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的闲谈.NET中的类型和访问修饰符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。