.Net范例 引用范例

打印 上一主题 下一主题

主题 841|帖子 841|积分 2523

预定义范例引用范例
C#支持两种预定义的引用范例:object 和string
名称.NET范例说明
objectSystem.Object根范例,其他范例都是从它派生而来的(包括值范例)
stringSystem.StringUnicode字符串
 
1.object范例
  许多编程语言和层次结构都提供了根范例,层次结构中的其他对象都从它派生而来。C#和.Net也不例外。在C#中object范例就是最终的父范例,全部内置范例和用户定义的范例都从它派生而来。这样,object范例就可以用于两个目标。

  • 可以利用object引用来绑定任何特定子范例的对象。例如利用object范例把堆栈中的值对象装箱,再移动堆中。object引用也可以用于反射,此时必须有代码来处理范例未知的对象
  • object类实现了许多一样平常用途的基本方法,包括Equals()、GetHashCode()、GetType() 和ToString()。用户定义的类需要利用一种面向对象技术-重写,来提供其中一些方法的替代实现代码。例如,重写ToString()时,要给类提供一个方法,给出类自己的字符提示。假如类中没有提供这些方法的实现代码,编译器就会利用object范例中的实现代码,它们在类上下文中的执行不一定准确。
1.string范例
  C#有string关键字,在遮罩下转换为.NET类System.String。有了它,像字符串连接和字符串复制这样的操纵就很简单了。
  1. string str1 = "Hello";
  2. string str2 = "World";
  3. string str3 = str1 + str2;
复制代码
  尽管这是一个值范例的赋值,但string是一个引用范例。string对象被分配在堆上,而不是栈上。因此,当把一个字符串变量赋予另一个字符串时,会得到对内存中同一个字符串的两个引用。但是string与引用范例的常见行为有一些区别。例如,字符串是不可改变的。修改其中一个字符串,就会创建一个全新的string对象,而另一个字符串不发生任何变革。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表