18.this关键字

Posted lz32158

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18.this关键字相关的知识,希望对你有一定的参考价值。

this关键字的用法

1.指代当前类的实例
2.在类中显式的调用本类中的构造方法。

调用类中构造方法语法 :this

例如:在下例代码中通过在构造方法“)”后加上“:this(参数列表)”来调用相应的构造方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo {


    class Program {

        //字段
        private string _name;
        private int _age;

        //构造方法
        public Program() {
            Console.WriteLine("无参构造执行");
        }

        public Program(string name) :this(){
            this.Name = name;
            Console.WriteLine("参数为name的构造执行");
        }

        public Program(string name,int age):this(name) {
            this.Age = age;
            Console.WriteLine("全参数的构造执行");
        }


        //属性
        public string Name {
            get { return _name; }
            set { _name = value; }
        }

        public int Age {
            get;
            set;
        }
    }

    class Test {
        static void Main(string[] args) {
            Program p = new Program("张三",20);

            Console.WriteLine("====================================");
            Console.WriteLine("Name为"+p.Name+",Age为"+p.Age);

            Console.ReadKey();
        }
    }
}

运行结果:
技术图片

通过执行结果分析,可以发现,对于构造函数括号后加了:this(参数列表)的,那么会首先调用this所对应的构造方法。如上例中的全参构造会先调用一个参数的构造,一个参数的构造又会调用无参的构造。所以执行结果会是,无参->一个参->全参。



以上是关于18.this关键字的主要内容,如果未能解决你的问题,请参考以下文章

vs 2010代码片段

vs 2010代码片段

Alfred常见使用

VSCode 如何操作用户自定义代码片段(快捷键)

在这个 spark 代码片段中 ordering.by 是啥意思?

用于从 cloudkit 检索单列的代码模式/片段