Bot*_*000 15
a value class是a ValueType- 这意味着,无论何时将其分配给同一类型的另一个变量,整个对象都会被复制到另一个变量中,从而为您留下两个单独的副本.这方面的例子是基本的数字数据类型,如int,bool或double.ValueTypes密封,这意味着你不能从他们那里得到.
A ref class是引用类型 - 如果将其分配给同一类型的另一个变量,则只复制引用.所以这两个变量基本上"指向"相同的数据.
所以value class和之间的主要区别ref class是复制语义.两者都可以包含方法,字段属性等.此外,你不能从一个value class.
在此上下文中使用class和struct关键字之间的区别在于成员的默认可见性.这是private为了ref/value class和public为ref/value struct.
一个常见的误解是value/ref指定存储位置(value = stack,ref = heap).每个对象的存储位置,无论是ValueType还是引用类型,都是没有人应该依赖或做出假设的实现细节,并且完全由运行时自行决定哪个存储位置适合于任何给定的上下文.
| 归档时间: |
|
| 查看次数: |
6344 次 |
| 最近记录: |