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. iOS实现OAuth2.0中刷新access token并重新请求数据操作

    一.简要概述 OAuth2.0是OAuth协议的下一版本,时常用于移动客户端的开发,是一种比较安全的机制.在OAuth 2.0中,server将发行一个短有效期的access token和长生命期的r ...

  2. 重新认识Swift中的可选型(Swift2.1)

    //: Playground - noun: a place where people can play import UIKit /* Swift中nil代表是是另外一种类型, 而不像OC那样, 任 ...

  3. C++:MEMSET的大坑三两事

    之前写了一题费用流,竟然硬是在写SPFA时为DIS数组赋初始值用了MEMSET数组QAQ 调试了很久也没有弄明白自己是卡在那里了,,,感觉被自己蠢哭了QWQ 错误的姿势!! #include < ...

  4. jq实现鼠标经过图片翻滚效果

    短短的十多行代码就实现了一个酷炫的图片翻滚代码,要实现这个效果并不难,只要思路对了,一切都好办,不多说了,直接上代码看效果! html结构: <ul class="list" ...

  5. C# 将XML格式字符串,写入数据集的表中 XML解析

    将XML格式字符串,写入数据集的表1中   命名空间:using System.Xml;               string strRead;//strRead为以下xml值           ...

  6. 适用于 PHP 开发人员的 Python 基础知识

    Thomas Myer, 负责人, Triple Dog Dare Media 简介: 您是一名经验丰富的 PHP 开发人员,并且希望学习 Python 吗?本文将从 PHP 开发人员的角度来探索 P ...

  7. 文成小盆友python-num11-(2) python操作Memcache Redis

    本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...

  8. sae Servlet class XXXX is not a javax.servlet.Servlet

    以前都是使用myeclipse开发web工程上传sae后没有问题,但是使用javaee导出war包上传sae 无法访问 Servlet class  XXXX is not a javax.servl ...

  9. 转:Visual C++ sprintf()函数用法

    将字串格式化命令.sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访 问错误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情 ...

  10. [转载]memcached stats 命令

    STAT pid 1552 STAT uptime 3792 STAT time 1262517674 STAT version 1.2.6 STAT pointer_size 32 STAT cur ...