zoukankan      html  css  js  c++  java
  • C#中this指针的用法示例

    这篇文章主要介绍了C#中this指针的用法,对初学者而言是非常重要的概念,必须加以熟练掌握,需要的朋友可以参考下。

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

    一、this指针是什么:

    这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念
    类是对事物概括,也是C#编码时所有代码归属的基本单位;而对象是对类的实例化,也就是C#里new方法的返回值。写代码是不能直接用操作类,而只能先实例化类,然后我们用这个类被实例化后的对象。
    通俗一些的说明是,“类”好比是“人”的概念,而我们把类实例化后,就成为单个人的“对象”,例如:“张三”。
    this就是你的代码所归属的“类”的实例化后的“对象”,也叫当前对象。

    二、this指针的几种用法:

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

    主要代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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、将对象作为参数传递到别的方法中

    主要代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    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、声明索引器

    主要代码如下:

    1
    2
    3
    4
    5
    6
    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作为一个变量类型表示对调用该方法的结构。

  • 相关阅读:
    技术列表
    常用软件开发工具
    EXCEL数据导入SQL2008相关操作
    点点滴滴
    揪出ASP.NET 2.0四大“插件”的总后台 ASPNETDB
    古人说
    好点子都是偷来的:史上最感性的60堂创新课读书摘要
    我是怎么割韭菜的:一个骗子的悔过与自白读书摘要
    人生如我读书摘要
    德米安:彷徨少年时读书摘要
  • 原文地址:https://www.cnblogs.com/0515offer/p/4236090.html
Copyright © 2011-2022 走看看