• C#中this保留字的用法


    一、this保留字

    this保留字一般只在构造函数、类的方法和类的实例中使用。它有以下含义:

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

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

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

    ?在结构的方法中出现的this,则作为一个变量类型,表示对调用该方法的结构的引用。
    除此之外,在其它地方使用this保留字都是不合法的。

    二、提示

    假如类中有一个成员变量a,同时在该类的成员函数中又定义了一个局部变量a,此时就必须使用this关键字来指定类的成员变量a了,具体写法就是:

    this.a  // 指定类的成员变量a,而不是成员函数中的局部变量a请阅读三、示例。

    注:在类中,所谓的成员函数,实际上就是类的方法。

    this表示当前类。

    比如在一个类A中有一个b方法。如果要在类A中调用这个b方法,就可以使用:

    this.b如果要在别的类中调用这个方法,就必须先实例化一个对象,然后再调用:

    A a = new a();
    a.b

    在静态的方法中不能使用this,比如main方法就是一个静态的方法,因此,不能在main方法中使用this。

    三、示例
      
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    class classTest                 // 自定义类classTest
    {
        private int age = 20;       // 私有成员
        public int ShowAge1(int age)// 参数和私有成员重名。
        {
            return this.age;        // 返回的是私有成员age的数值
        }
        public int ShowAge2(int age)
        {
            return age;             // 返回的是参数的数值
        }
        // 如果参数和私有成员不重名,在方法中访问成员时不需要添加this,
        // 但好的习惯是加上this。
        public int ShowAge3(int newage)
        {
            return age;
        }
        public int ShowAge4(int newage)
        {
            return this.age;
        }
    }

    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                // C#中this保留字的用法-www.baike369.com
                classTest classTest1 = new classTest();
                Console.WriteLine(classTest1.ShowAge1(100));
                Console.WriteLine(classTest1.ShowAge2(100));
                Console.WriteLine(classTest1.ShowAge3(100));
                Console.WriteLine(classTest1.ShowAge4(100));
                Console.ReadLine();
            }
        }
    }

    运行结果:
     
    20
    100
    20
    20

  • 相关阅读:
    “TensorFlow 开发者出道计划”全攻略,玩转社区看这里!
    适合 C++ 新手学习的开源项目——在 GitHub 学编程
    【9303】平面分割
    【u114】旅行计划(12月你好)
    【u236】火炬
    【u233】单词化简
    Java Web整合开发(41) -- Forum
    1、服务器(软件)种类
    jquery trigger
    jQuery实现当按下回车键时绑定点击事件
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239321.html
Copyright © 2020-2023  润新知