c#中引用是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/16 04:29:01
就是“引用”的定义,比如在什么情况下需要引用,为什么要引用,引用的目的是什么...

c#不像c语言 c语言有指针 而c#没有这个概念 但它却使用了“引用”这个概念 “引用”可以说是c#里的指针 但是它只能用于引用类型(c#数据分值类型和引用类型,引用类型在“堆”上创建,而值类型是在“栈”上创建)的数据,如数据、类和接口等,也就是说在定义引用类型数据时就要用到引用了。如有一个已经声明的类:Student 。在定义一个Student类时就要:Student str=new Student() 注意new这个关键字不能缺少 因为它是用来实例化引用类型数据对象的。而值类型数据就不能用new了。
说了这么多希望对你有帮助~~~~

1.C#中也有指针的概念,当unsafe开关打开时,可以使用指针
2.引用在C++时代就已经有的概念
其定义如下
引用类型存储在运行时堆上;只能通过引用该存储访问它们。这允许垃圾回收器跟踪未完成的引用直到某个特定的实例,并在没有引用保持时释放该实例。引用类型的变量总是包含该类型的值引用,或包含空引用。空引用不引用任何内容;除分配空引用外,对空引用进行的任何操作都是无效的。引用类型的变量赋值创建引用的一个副本,而不是所引用的值的副本。

值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。当包含值类型实例的位置被销毁时,值类型实例也被销毁。值类型总是可以直接访问;不可能创建对值类型的引用。禁止这种引用使得不可能引用已销毁的值类实例。值类型的变量总是包含该类型的值。与引用类型不同,值类型的值不能为空引用,也不能引用派生相近程度较大的类型的对象。值类型的变量赋值会创建所赋的值的副本

3.值类型数据是可以使用new创建的,如struct体,就是值类型,

public struct Test
{
public int i;
public string s;
}
Test test=new Test();

简单的说就是你编程的时候要用到别人已经编好的程序,如类,com组件……的时候就要引用。
把别人编好的东西自己用~~

引用的是命名空间,比如说你需要连接数据库,就要引用 using.Sys