Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net数据类型存储在哪里?_.net_Types - Fatal编程技术网

.Net数据类型存储在哪里?

.Net数据类型存储在哪里?,.net,types,.net,Types,.Net数据类型存储在哪里?它们“存储”在各种dll中。它们“存储”在各种dll中。如果您指的是数据存储在内存中的什么位置-在堆栈或堆上,则会变得相当复杂,部分取决于语言 我已经写了一篇比我想在这里重复的更详细的文章。简单的解释,例如经常重复的值类型存在于堆栈上,引用类型存在于堆上,都有很大的缺陷,引用类型中的int变量就是一个明显的反例——该变量的值将始终存储在堆上,即使int是一个值类型 然而,阅读Eric Lippert的文章也是明智的——这是一个实现问题,开发人员往往对此过于担心。C团队

.Net数据类型存储在哪里?

它们“存储”在各种dll中。

它们“存储”在各种dll中。

如果您指的是数据存储在内存中的什么位置-在堆栈或堆上,则会变得相当复杂,部分取决于语言

我已经写了一篇比我想在这里重复的更详细的文章。简单的解释,例如经常重复的值类型存在于堆栈上,引用类型存在于堆上,都有很大的缺陷,引用类型中的int变量就是一个明显的反例——该变量的值将始终存储在堆上,即使int是一个值类型

然而,阅读Eric Lippert的文章也是明智的——这是一个实现问题,开发人员往往对此过于担心。C团队可以决定在以后的版本中对其进行更改,并创建一个包含所有局部变量的新对象,而不仅仅是捕获的变量

诚然,这是一个重要的实现细节——您在堆栈上放了多少会影响堆栈的深度,等等——但我们可能应该花很多时间来关注它

如果这不是你想问的问题,请澄清。例如,你可以指:

执行时类型元数据存在于何处? 磁盘上存储的BCL类型在哪里? 类型的JIT编译代码存在于何处,它存储在何处?
如果你的意思是数据存储在内存中的什么位置——在堆栈上还是在堆上,它会变得相当复杂,部分取决于语言

我已经写了一篇比我想在这里重复的更详细的文章。简单的解释,例如经常重复的值类型存在于堆栈上,引用类型存在于堆上,都有很大的缺陷,引用类型中的int变量就是一个明显的反例——该变量的值将始终存储在堆上,即使int是一个值类型

然而,阅读Eric Lippert的文章也是明智的——这是一个实现问题,开发人员往往对此过于担心。C团队可以决定在以后的版本中对其进行更改,并创建一个包含所有局部变量的新对象,而不仅仅是捕获的变量

诚然,这是一个重要的实现细节——您在堆栈上放了多少会影响堆栈的深度,等等——但我们可能应该花很多时间来关注它

如果这不是你想问的问题,请澄清。例如,你可以指:

执行时类型元数据存在于何处? 磁盘上存储的BCL类型在哪里? 类型的JIT编译代码存在于何处,它存储在何处?
所有核心CTS类型(如Int16、Int32、Int64、字符串、字节等)都在MSCorLib.dll中定义。此文件可在C:\Windows\Microsoft.NET\Framework\v2.0.50727目录中找到


所有其他特殊用途类型和类都存储在各自的FCL[框架类库]程序集中。与此类似,与windows窗体开发相关的所有类型都可以在System.windows.Form..dll中找到,与web/asp.net开发相关的所有类型都可以在System.web..dll中定义。您可以在本地计算机的GAC中找到这些和相关的程序集。

所有核心CTS类型,如Int16、Int32、Int64、String、Byte等,都在MSCorLib.dll中定义。此文件可在C:\Windows\Microsoft.NET\Framework\v2.0.50727目录中找到


所有其他特殊用途类型和类都存储在各自的FCL[框架类库]程序集中。与此类似,与windows窗体开发相关的所有类型都可以在System.windows.Form..dll中找到,与web/asp.net开发相关的所有类型都可以在System.web..dll中定义。您可以在本地机器的GAC中找到这些和相关的程序集。

@Bhaskar:Hi Bhaskar,您应该使用单词“defined”,而不是使用“stored”。这有助于其他人更好地理解这个问题。问题的实际形式应该是这样的:在哪里定义了.net CTS类型?@Bhaskar:Hi Bhaskar,而不是使用“存储”你应该使用“定义”这个词。这有助于其他人更好地理解这个问题。问题应该是这样的:在哪里定义了.NETCTS类型?