我们都知道 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# 定义相对较少。注意 enum
和 struct
本身不是类型。CLR 本身知道的更少——例如,它没有对 decimal
的任何特殊支持。)
您的列表不包括 DateTime
之类的内容, TimeSpan
, Guid
, List<T>.Enumerator
等等。基本上你可以加载一堆带有反射的程序集来找到更多。我怀疑认证指南真的意味着框架中的值类型集。
关于c# - C#(甚至 CLR)中有多少内置值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831957/