zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    css去掉点击连接时所产生的虚线边框技巧兼容符合w3c标准的浏览器
    html中<a href> </a>的用法
    点击页面其他地方关闭弹出层
    CSS文字两端对齐
    mouseover和mouseenter的区别
    jquery中的$("#id")与document.getElementById("id")的区别
    console.log
    ie6中margin失效问题
    渐变
    CSS 清除浮动的4种方法
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239321.html
Copyright © 2011-2022 走看看