簡體   English   中英

C#(甚至是CLR)中有多少內置值類型

[英]How many Built-in Value types are there in C# (or even the CLR)

我們都知道C#中存在的15種常見值類型:

sbyte, short, int, long, byte, ushort, uint, ulong, char, float, double, decimal, bool, enum, struct

如果你單獨計算nullable對應物,它就會使它們成為30。

我記得有一本MS認證書提到“CLR中有超過400種內置類型”,雖然我在網上找不到任何內容,但我也沒有發現其他人提到它。

所以我很想知道 - 這就是全部嗎? 如果沒有,你如何找到其余的並讓你在任何項目中使用它們?

我懷疑它意味着“在.NET框架中”而不是“在CLR中”。 (C#定義相對較少。請注意, enumstruct本身不是類型.CLR本身知道的更少 - 例如,它沒有對decimal任何特殊支持。)

你的列表不包括DateTimeTimeSpanGuidList<T>.Enumerator等。基本上你可以加載一堆帶反射的程序集來查找更多內容。 我懷疑認證指南真正意味着框架中的一組價值類型。

“CLR中有超過400種內置值類型”

那么任何結構都是值類型,所以如果這個語句是准確的,我認為它必須意味着包括BCL中的每個結構(而不​​是CLR)。

struct是一個值類型,所以也要計算它們。

我猜這400種內置類型包括結構和枚舉。

根據MSDN,實際類型只是你列出的類型 - http://msdn.microsoft.com/en-us/library/ya5y69ds.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM