this关键字

1.首先一个用处就是代表当前类的对象。

2.当我们对构造函数进行重载的时候代码如下:

 public class Class1
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Grade { get; set; }
        public int English { get; set; }
        public int Math { get; set; }
        public int Chinese { get; set; }
        public Class1(string name,int age,string grade,int english,int math,int chinese)
        {
            this.Name = name;
            this.Age = age;
            this.Grade = grade;
            this.English = english;
            this.Math = math;
            this.Chinese = chinese;
        }
        public Class1(string name,int english, int math, int chinese)
        {
            this.Name = name;
            this.English = english;
            this.Math = math;
            this.Chinese = chinese;
        }
        public Class1(string name, int age)
        {
            this.Name = name;
            this.Age = age;
        }
        public Class1()
        {

        }
    }

以上代码完全没有问题,但是不免有些代码冗余的现象。我们可以使用this关键字

 public class Class1
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Grade { get; set; }
        public int English { get; set; }
        public int Math { get; set; }
        public int Chinese { get; set; }
        public Class1(string name,int age,string grade,int english,int math,int chinese)
        {
            this.Name = name;
            this.Age = age;
            this.Grade = grade;
            this.English = english;
            this.Math = math;
            this.Chinese = chinese;
        }
        public Class1(string name,int english, int math, int chinese):this(name,0,"c",english,math,chinese)
        {
            //this.Name = name;
            //this.English = english;
            //this.Math = math;
            //this.Chinese = chinese;
        }
        public Class1(string name, int age)
        {
            this.Name = name;
            this.Age = age;
        }
        public Class1()
        {

        }

    }

即this的第二个用处为在类中显式的调用本类的构造函数

this关键字之一个有趣的用法的更多相关文章

  1. 关于Javascript语言中this关键字(变量)的用法

    最近很多 Javascript初学者朋友总在问: Javascript 的this 关键字的用法.我在这里索性总结一下 this关键字的用法. this 关键字是面向对象编程语言中的一个重要概念!在J ...

  2. Java关键字之static的典型用法分析

    static关键字是java中非常重要的一个关键字,用的好的话可以提高程序的运行性能,优化程序结构.接下来我们来总结一下static关键字及其用法.1.static变量 static变量也称作静态变量 ...

  3. Java继承:super关键字、构造器、final用法

    一.继承 继承好处 1.提高代码的重用性 2.提高代码的扩展性和维护性 3.为多态打下了基础 继承类型 继承子类创建对象的过程 二.super关键字的使用 理解:super代表父类的引用,用于访问父类 ...

  4. jqeruy的append一个有趣的用法(挪移控件位置)

    使用:$(放置的容器).append($(需要迁移的控件)) 需求:列表中点击编辑可以在无刷修改 以前的方法是在列表中的每条数据直接放置控件.但是这个地区选择控件是服务器自定义控件不可以放置在列表的循 ...

  5. read table 时关键字TRANSPORTING NO FIELDS的用法

    关键字TRANSPORTING NO FIELDS 用于read table with key 一般用于等读取内表的时候,只是判断该内表中是否有次数据 不需要读取到工作区中. READ TABLE g ...

  6. php static 关键字在 函数中的用法

    至于在类中声明为 static 的属性和方法,这里不描述php中的变量作用范围的另一个重要特性就是静态变量(static 变量).静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第5节 final关键字_1_final关键字概念与四种用法

    英文的含义和程序中的含义是相同的.最终的,不可改变的

  8. js中关键字 const , let , var 的用法区别

    1.const定义的变量不可以修改,而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错. 3.let是块级作用域,函数内部使用let定义后,对函数外部无影响 ...

  9. C#中的using关键字用法总结

    C#中的using关键字主要有两种用法: 1.using作为指令: (1)用于将命名空间引入当前单元,例如:using System.Windows.Forms; (2)为现有的命名空间创建一个别名, ...

随机推荐

  1. 分享动态拼接Expression表达式组件及原理

    前言 LINQ大家都知道,用起来也还不错,但有一个问题,当你用Linq进行搜索的时候,你是这样写的 var query = from user in db.Set<User>()      ...

  2. 一些SQL语句的问题

    1.getdate()函数问题 go create table table_1( id int primary key identity, name ) not null, daytime datet ...

  3. 网址测速JS

    /*.route_nav li a:hover{background: #3c7f84 url(title.png) no-repeat;border-color:#84a3a5;}*/ .route ...

  4. SQLServer 2008 删除、压缩日志

    SQL Server 2008删除或压缩数据库日志的方法 由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间.由于 ...

  5. C++服务器linux开发环境管理

    在游戏服务器开发中,跨平台不是必须的.线上游戏既有windows下的C++..Net服务器也有linux下的C++.go.erlang服务器.但是无论如何都要保证开发环境和线上运行环境的一致,否则不同 ...

  6. Android中日志工具的使用

    添加LogCat到你的Eclipse日志在任何项目的开发过程中都会起到非常重要的作用,在Android项目中如果你想要查看日志则必须要使用LogCat工具.当你第一次在Eclipse中运行Androi ...

  7. PullToRefreshListView组件的OnItemClickListener中的position下标问题

    /** * Pass-through method for {[url=home.php?mod=space&uid=91636]@link[/url] PullToRefreshBase#g ...

  8. rsyslog 同步丢失问题

    <pre name="code" class="html">[root@dr-mysql01 zjzc_log]# wc -l localhost_ ...

  9. rsyslog 日志服务器接收日志权限问题

    rsyslog 权限: 默认 [root@dr-mysql01 zjzc_log]# ls -ltr zj-frontend0*-access*27 -rw------- 1 root root 32 ...

  10. HDOJ 1335 Basically Speaking(进制转换)

    Problem Description The Really Neato Calculator Company, Inc. has recently hired your team to help d ...