[c#] 如何定义“类型”是什么意思


1 Answers

Type的传统英文定义是一个很好的起点。

一类具有共同特征的人或事物

.NET类型定义了.NET对象的特定类别(即:System.IO.Stream)。 它包含一组特定的.NET对象的属性和方法(特征)。

你是否在寻找更多的技术描述(即:内存管理等)?

Question

摘自Eric Lippert的博客 “是”的含义是

一个常见的类型概念是,一个类型是一组值,而赋值兼容性只是检查一个给定的值是否是必要集合的成员。 但在C#中情况并非如此。

他给出的计数器示例是null is string返回false ,但string b = null由C#编译器完全正确。

也许这是一个愚蠢的问题,但在C#.Net上下文中定义“类型”的想法是什么更好的方法? 这只是一个用来定义内存占用规则的词汇吗? ...到CLR? 我意识到这个定义有多松散(可怕的是错误的),但是我正在努力去适应一个很好的包装,并围绕类型的想法。

注:更简单,但完全准确,更好。 (强N型 ,在这里)。




根据编程指南,我认为你可能会考虑这一点

存储在一个类型中的信息可以包括以下内容:

  • 类型变量需要的存储空间。
  • 它可以表示的最大值和最小值。
  • 它包含的成员(方法,字段,事件等)。
  • 它继承的基本类型。
  • 运行时将分配变量内存的位置。
  • 允许的操作种类。

我知道,不占null但在C# null真的只是缺乏一个引用的内存地址。




Related