C#中this指针的用法示例

本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下:

一、this指针是什么:

这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念

类是对事物概括,也是C#编码时所有代码归属的基本单位;而对象是对类的实例化,也就是C#里new方法的返回值。写代码是不能直接用操作类,而只能先实例化类,然后我们用这个类被实例化后的对象。

通俗一些的说明是,“类”好比是“人”的概念,而我们把类实例化后,就成为单个人的“对象”,例如:“张三”。

this就是你的代码所归属的“类”的实例化后的“对象”,也叫当前对象。

二、this指针的几种用法:

1、限定被相似的名称隐藏的成员

主要代码如下:

public class ThisName

{

public string name = "张三";

public int num = 55;

public ThisName() { }

public void GetThisName(string name, int num)

{

name = this.name;//调取全局变量name

num = this.num;//调取全局变量num

HttpContext.Current.Response.Write("参数name的值为:"+name+";参数num的值为:"+num);//输出结果为"参数name的值为张三;参数num值为:55"

}

}

2、将对象作为参数传递到别的方法中

主要代码如下:

public class ThisFF

{

public ThisFF()

{

}

public string shuju()

{

return "This指针当做方法传递";

}

public void f1(ThisFF ff)

{

HttpContext.Current.Response.Write(ff.shuju());

}

public void f()

{

f1(this);//this在这里可以理解为 ThisFF ff=news ThisFF();当前类的实例

}

}

ThisFF ff=news ThisFF();//方法实例

ff.f();//调用方法 输出结果为: This指针当做方法传递

3、声明索引器

主要代码如下:

private int _Sy;

public int this[int sy]

{

get { return _Sy;}

set { sy=_Sy;}

}

三、总结:

1.this关键字引用被访问成员所在的当前实例。静态成员函数没有this指针。this关键字可以用来从构造函数,实例方法和实例化访问器中访问成员。

不能在静态方法。静态属性访问器或者域声明的变量初始化程序中使用this关键字,这将会产生错误。

2.在类的构造函数中出现的this作为一个值类型表示对正在构造的对象本身的引用。

3.在类的方法中出现this作为一个值类型表示对调用该方法的对象的引用。

4.在结构的构造函数中出现的this作为一个变量类型表示对正在构造的结构的引用。

5.在结构的方法中出现的this作为一个变量类型表示对调用该方法的结构。相关阅读:

javascript中的throttle和debounce浅析

Mac系统中国银行安全控件安装教程指南图解

oracle date 类型字段的处理方法

win10 build 9926怎么修改系统语言?

Win7如何禁用IE浏览器插件以达到提速的作用

jQuery中change事件用法实例

Win7/Win8.1能免费升级win10的那个版本?

php递归创建目录的方法

利用adt-bundle轻松搭建Android开发环境与Hello world(Windows)

在Windows8系统中获取windowsapps权限的方法

CI(CodeIgniter)框架介绍

windows平台中配置nginx+php环境

4种Android获取View宽高的方式

JS实现动态生成表格并提交表格数据向后端

php this指针的用法,C#_C#中this指针的用法示例,本文实例展示了C#中this指针的 - phpStudy...相关推荐

  1. 寻找某个数c语言,C++_C语言实现两个递减数列中寻找某一个数,本文实例讲述了C语言实现两个 - phpStudy...

    C语言实现两个递减数列中寻找某一个数 本文实例讲述了C语言实现两个递减数列中寻找某一个数的方法,分享给大家供大家参考之用.具体方法如下: 通常来说这道题算二分查找法中非常有难度的一题了. 题目如下: ...

  2. php timespan,C#_C#基于TimeSpan实现倒计时效果的方法,本文实例展示了C#基于TimeSpan实 - phpStudy...

    C#基于TimeSpan实现倒计时效果的方法 本文实例展示了C#基于TimeSpan实现倒计时效果的方法,比较实用的功能,对于初学者来说有一定的学习参考价值.具体实现方法如下: 示例代码如下: usi ...

  3. 八皇后问题php,C++_C++实现八皇后问题的方法,本文实例展示了C++实现八皇后 - phpStudy...

    C++实现八皇后问题的方法 本文实例展示了C++实现八皇后问题的方法,是数据结构与算法中非常经典的一个算法.分享给大家供大家参考之用.具体方法如下: 一般在八皇后问题中,我们要求解的是一个8*8的国际 ...

  4. 数据库操作 linq php,.NET_asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析,本文实例讲述了asp.net使用LINQ t - phpStudy...

    asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析 本文实例讲述了asp.net使用LINQ to SQL连接数据库及SQL操作语句用法.分享给大家供大家参考,具体如下: LI ...

  5. php 合并重复数据合并,PHP_php合并数组中相同元素的方法,本文实例讲述了php合并数组中 - phpStudy...

    php合并数组中相同元素的方法 本文实例讲述了php合并数组中相同元素的方法.分享给大家供大家参考.具体如下: 关于重复数组的删除我们都介绍过N种方法了,今天这个例子有点不同就是 删除数组中相同的元素 ...

  6. winform调用html,C#_C#通过html调用WinForm的方法,本文实例讲述了C#通过html调用W - phpStudy...

    C#通过html调用WinForm的方法 本文实例讲述了C#通过html调用WinForm的方法.分享给大家供大家参考,具体如下: 完整测试代码: Form1.cs: using System; us ...

  7. 骰子算法 php,C++_C++实现N个骰子的点数算法,本文实例讲述了C++实现N个骰子 - phpStudy...

    C++实现N个骰子的点数算法 本文实例讲述了C++实现N个骰子的点数算法,分享给大家供大家参考之用.具体方法如下: 题目要求:把n个骰子仍在地上,所有点数 实现代码如下: #include using ...

  8. java sendmessage函数_vc中SendMessage自定义消息函数用法实例

    本文实例讲述了vc中SendMessage自定义消息函数用法,分享给大家供大家参考.具体如下: SendMessage的基本结构如下: SendMessage( HWND hWnd,  //消息传递的 ...

  9. python的for语句用法_python中list循环语句用法实例

    本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个 ...

最新文章

  1. Go 学习笔记(55)— Go 标准库 sql (初始化数据库、插入、更新、删除数据库表、单行查询、多行查询、事务处理)
  2. 3des java 库_java 3DES 加密
  3. php auth_http,php auth_http类库进行身份效验
  4. matlab中imresize函数的用法,为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同
  5. 《JavaScript凌厉开发 Ext详解与实践》3月5日开始上架销售
  6. 如何用python写脚本_【按键教程】用python写脚本 另附垫材24与变奏22的实现
  7. 单相桥式相控整流电路multisim仿真_单相半波可控整流电路电阻负载的Matlab Simulink仿真...
  8. 未能加载文件或程序集rsy3_abp vnext2.0之核心组件模块加载系统源码解析
  9. 让工作与(vue)音乐相伴
  10. mysql索引原理传送门_MySQL索引底层实现原理
  11. java的remove iterator_Java集合 iterator.remove()方法详解
  12. PLSQL Developer 特点
  13. freeswitch 一些坑
  14. Html 垂直滚动条 定位到 指定位置
  15. 小米路由器显示DNS服务器设置错误,小米路由器dns异常怎么修复
  16. 开源硬件USB抓包及协议分析工具分享
  17. 第二届BJD CTF做题总结与题目复现-MISCCrypto
  18. 雅虎将收购什么类型公司?梅耶尔:移动!移动!移动!
  19. pythonend什么意思_Python中的 \t 和 end=” 是什么意思?
  20. Google登录和内购简要说明

热门文章

  1. 线程之一:JAVA线程基础
  2. ElasticSearch index 剖析
  3. Spark RDD使用详解4--Key-Value型Transformation算子
  4. Spread表格组件For JAVA功能介绍—表格相关操作
  5. Android 6.0 超级简单的权限申请2 (Permission)
  6. 万云:区块链可帮助公证行业创新改革,为互联网公证打下基础
  7. 什么影响了数据库的性能?
  8. 【Hadoop Summit Tokyo 2016】企业数据分类和治理
  9. 华为访问列表traffic-policy案例
  10. window,linux python2,python3共存