c# - C#中未分配变量的内存

标签 c# variables memory memory-management unassigned-variable

//Consider this declaration
string name;

这里的字符串变量name是一个未赋值的变量,如果没有初始化,这个声明是否为name保留了内存?

最佳答案

它不是未分配的。所有类/结构都会收到它们的默认值。对于字符串,它是 null

如果它是局部变量,那么优化将倾向于将其移除。如果它是一个实例变量,那么将分配内存(我认为,C# 规范不清楚)。

关于c# - C#中未分配变量的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346775/

相关文章:

c# - 没有这样的主机已知 —> System.Net.Http.HttpRequestException :

Bash 脚本比较两个日期变量

mysql - MySQL 数据类型中的内存分配?

python - 内存使用量随着 Python 的 multiprocessing.pool 不断增长

python - Redis:内存优化/性能策略

c# - 为什么 DrawString 看起来很糟糕?

c# - Sonarqube 规则的限制

C# 如何在不使用 WMI 的情况下查询 Windows DNS 服务器的 rrecord

php - 在php中排序整数值

perl - 在 Perl 中如何使用变量作为哈希键?