• C#this关键字用法


    用法一

    this关键字的作用是解决当传入参数的名称和数据字段的名称,类型完全相同时产生的作用于歧义,一般情况下我们应该避免产生重名的习惯

    先来演示下:

    class Airplane
        {
            public int age;
            public string name;
            public void SetDeriverName(string name)
            {
                name = name;
            }
        }
    调用上面的类实例

    Airplane fly = new Airplane();
                fly.SetDeriverName("Jack");
                Console.WriteLine("驾驶员的名字是:{0}", fly.name);
    编译上面代码时候,VS会给出警告,并且fly.name字段的内容为空。我们通过SetDeriverName给数据成员name字段赋值根本无效;问题在于编译器认为赋值号右边的name指向当然方法作用域内的变量,而不是类作用域中的字段。要想让编译器知道赋值号右边的name是准备赋值给类数据成员name字段的,可以使用this关键字解决这个问题,只需在数据成员前使用this关键字即。事实上this是可选的,当不存在重名时候,根本不需要使用this



    当我们使用this之后,VS的智能感知,自动的识别出this.name 就是public string name中的name字段

    用法二

    用this串联构造函数

    this的另一个用法是用来串联构造函数,用法如下:

            public Airplane() { }
            public Airplane(int currAge)
            {
                if(currAge<25)
                {
                    currAge = 25;
                }
                age = currAge;
            }
            public Airplane(int currAge, string name)
            {
                if(currAge<25)
                {
                    currAge = 25;
                }
                age = currAge;
                this.name = name;
            }
        


            public Airplane() { }
            public Airplane(int currAge)
                : this(currAge, "") { }
            public Airplane(int currAge, string name)
            {
                if(currAge<25)
                {
                    currAge = 25;
                }
                age = currAge;
                this.name = name;
            }
        }


  • 相关阅读:
    上班5个月总结
    使用余弦定理计算两篇文章的相似性
    9月10日 小结
    软件测试
    《增长黑客》笔记
    统计学术语
    数据分析师:数据分析工作常见七种错误及其规避技巧(转自经管之家)
    输入一个日期,计算这个日期与 2018-03-12差多少天;
    求输入数字的阶乘 及加和 #s=1!+2!+3!+…..+n!
    列表去重
  • 原文地址:https://www.cnblogs.com/tao-zi/p/3832574.html
Copyright © 2020-2023  润新知