相关疑难解决方法(0)

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

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

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

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

.net c# value-type reference-type

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

为什么我不能检查'DateTime'是否'没什么'?

在VB.NET中,有没有办法将DateTime变量设置为"未设置"?为什么它可以设置DateTimeNothing,但没有能够检查它是否是Nothing?例如:

Dim d As DateTime = Nothing
Dim boolNotSet As Boolean = d Is Nothing 
Run Code Online (Sandbox Code Playgroud)

第二个语句抛出此错误:

'Is' operator does not accept operands of type 'Date'. Operands must be reference or
nullable types.
Run Code Online (Sandbox Code Playgroud)

vb.net null datetime nullable nothing

75
推荐指数
3
解决办法
9万
查看次数

"编译时间"和"运行时间"有什么区别?

我不明白术语"编译时间"和"运行时间"(或"运行时")的含义.

我对"价值类型"和"参考类型"的含义以及它们与上述时间的关系有点困惑.

有人请解释这些事吗?

.net definition

11
推荐指数
2
解决办法
2万
查看次数

价值类型优于参考类型的好处?

看到每次作为参数传递时都会创建值类型的新实例,我开始考虑使用refout关键字可以显示实质性性能改进的情况.

经过一段时间它打击了我,虽然我看到使用价值类型的不足,我不知道有什么好处.
所以我的问题很简单 - 拥有价值类型的目的是什么?我们通过复制结构而不是仅仅创建一个新的引用来获得什么?

在我看来,只有像Java一样的引用类型会容易得多.

编辑:只是为了清除它,我不是指小于8字节(参考的最大大小)的值类型,而是指8字节或更多的值类型.

例如 - Rectangle包含四个int值的结构.

c# value-type reference-type pass-by-reference pass-by-value

6
推荐指数
1
解决办法
3624
查看次数

5
推荐指数
2
解决办法
3万
查看次数

.net框架中值类型和引用类型的内存分配

是否有一篇我可以阅读的高级文章可以解释如何在.net框架中为不同类型(值和引用)分配内存.

例如,我们知道值类型是在堆栈上分配空间,但是如何管理?

如何在堆中管理引用类型以及存储实际值的位置.(像任何类一样的引用类型将包含许多值类型,它们保存在哪里以及如何管理它们)

.net memory-management

4
推荐指数
2
解决办法
8465
查看次数