c#中引用是什么意思?
7个回答
展开全部
1.C#中也有指针的概念,当unsafe开关打开时,可以使用指针
2.引用在C++时代就已经有的概念
其定义如下
引用类型存储在运行时堆上;只能通过引用该存储访问它们。这允许垃圾回收器跟踪未完成的引用直到某个特定的实例,并在没有引用保持时释放该实例。引用类型的变量总是包含该类型的值引用,或包含空引用。空引用不引用任何内容;除分配空引用外,对空引用进行的任何操作都是无效的。引用类型的变量赋值创建引用的一个副本,而不是所引用的值的副本。
值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。当包含值类型实例的位置被销毁时,值类型实例也被销毁。值类型总是可以直接访问;不可能创建对值类型的引用。禁止这种引用使得不可能引用已销毁的值类实例。值类型的变量总是包含该类型的值。与引用类型不同,值类型的值不能为空引用,也不能引用派生相近程度较大的类型的对象。值类型的变量赋值会创建所赋的值的副本
3.值类型数据是可以使用new创建的,如struct体,就是值类型,
例
public struct Test
{
public int i;
public string s;
}
Test test=new Test();
2.引用在C++时代就已经有的概念
其定义如下
引用类型存储在运行时堆上;只能通过引用该存储访问它们。这允许垃圾回收器跟踪未完成的引用直到某个特定的实例,并在没有引用保持时释放该实例。引用类型的变量总是包含该类型的值引用,或包含空引用。空引用不引用任何内容;除分配空引用外,对空引用进行的任何操作都是无效的。引用类型的变量赋值创建引用的一个副本,而不是所引用的值的副本。
值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。当包含值类型实例的位置被销毁时,值类型实例也被销毁。值类型总是可以直接访问;不可能创建对值类型的引用。禁止这种引用使得不可能引用已销毁的值类实例。值类型的变量总是包含该类型的值。与引用类型不同,值类型的值不能为空引用,也不能引用派生相近程度较大的类型的对象。值类型的变量赋值会创建所赋的值的副本
3.值类型数据是可以使用new创建的,如struct体,就是值类型,
例
public struct Test
{
public int i;
public string s;
}
Test test=new Test();
展开全部
c#不像c语言 c语言有指针 而c#没有这个概念 但它却使用了“引用”这个概念 “引用”可以说是c#里的指针 但是它只能用于引用类型(c#数据分值类型和引用类型,引用类型在“堆”上创建,而值类型是在“栈”上创建)的数据,如数据、类和接口等,也就是说在定义引用类型数据时就要用到引用了。如有一个已经声明的类:Student 。在定义一个Student类时就要:Student str=new Student() 注意new这个关键字不能缺少 因为它是用来实例化引用类型数据对象的。而值类型数据就不能用new了。
说了这么多希望对你有帮助~~~~
说了这么多希望对你有帮助~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的说就是你编程的时候要用到别人已经编好的程序,如类,com组件……的时候就要引用。
把别人编好的东西自己用~~
把别人编好的东西自己用~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用的是命名空间,比如说你需要连接数据库,就要引用 using.System.Data.SqlClient 命名空间,引用了之后,你就可以用操纵数据库的一些类,说一个比较庸俗的吧;就是当你点不出来的时候就该引用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的说就是你编程的时候要用到别人已经编好的程序,如类,com组件……的时候就要引用。
把别人编好的东西自己用~~
把别人编好的东西自己用~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询