相关疑难解决方法(0)

c#中的引用类型和值类型有什么区别?

几个月前有人问我这个问题,我无法详细解释.C#中的引用类型和值类型有什么区别?

我知道,价值类型int,bool,float,等和引用类型delegate,interface等等.或者,这是不对的,太?

你能以专业的方式向我解释一下吗?

.net c# value-type reference-type

92
推荐指数
5
解决办法
8万
查看次数

泛型内存管理

关于如何管理强类型泛型的内存,我有疑问

List<int> ints1 = new List<int>();
ints1.Add(1); ints1.Add(2); ints1.Add(3);

int[] ints2 = new int[10]();
ints2.Add(6); ints2.Add(7); ints2.Add(8);
Run Code Online (Sandbox Code Playgroud)

问题1:我假设因为ints1初始化了一个新的关键字(new List<int>())它成为一个引用类型.值1,2,3在哪里存储在内存中(它们存储在堆栈中还是堆栈中)?

问题2:我知道之间的事情List<int>int[],List<int>可以扩展它的大小为任意大小在运行时,它被限制在int[]编译时.因此,如果值1,2,3存储在堆栈中,如果添加一个新项目List<int>说4,它将不会连续到前3个右侧,那么ints1将如何知道4的内存位置?

.net c# generics

8
推荐指数
3
解决办法
2143
查看次数

标签 统计

.net ×2

c# ×2

generics ×1

reference-type ×1

value-type ×1