c# - 具有 getter 和 setter 的值类型仍然是值类型吗?

标签 c# value-type setter getter

在 C# 中,如果我有以下代码:

public int VarName { get; set; }
  1. VarName 仍然是值类型吗?

  2. 是否会进行装箱或拆箱?

  3. 存储与 get/set 相关的引用是否有任何开销?

最佳答案

是的,它仍然是一个值类型。

不,不会有任何装箱或拆箱(因为您没有将其视为对象)。

不,没有开销,因为您没有存储与 get/set 相关的引用。它只是将 int 存储在编译器生成的支持字段中。

关于c# - 具有 getter 和 setter 的值类型仍然是值类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389012/

相关文章:

c# - 为什么添加操作在 Mock 上不起作用?

c# - 方法返回默认值

c# - 什么时候使用 C# 结构(值类型)会牺牲性能?

clr - 获取 !dumpheap -stat 中未列出的 ValueTypes 的名称/MT 的有效方法

python - 使用键作为方法(getter 和 setter)调用语法访问字典

java - 何时使用 JavaFX 属性 setter 和 getter,而不是直接使用属性

c# - GroupBy 与 elementSelector 和 resultSelector

c# - 确保 Singleton 只调用数据库查询一次

c# - C# 中的缩放图像

c# - WPF 中的数据触发条件检查