C#基础知识之this关键字介绍_C#教程

一、this可以代表引用类的当前实例,包括继承而来的方法,通常可以省略。

复制代码 代码如下:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public Person(string Name, int Age)
    {
        this.Age = Age;
        this.Name = Name;
    }
}

这个不用多说,当对象调用自己内部函数的时候,用到对象使用this即可。

二、this关键字后面跟“:”符号,可以调用其它的构造函数

复制代码 代码如下:

//声明有实现的构造函数
public Person()
{
    this.NAge = 100;
    Console.WriteLine("我是超人!");
}
public Person(int nAge)
{
    Console.WriteLine("超人的年龄{0}", nAge);
}
 //使用this关键字调用了第二个一个参数的构造函数
public Person(int nAge, string strName)
    : this(1)
{
    Console.WriteLine("我是叫{0}的超人,年龄{1}", strName, nAge);
}

我们创建该对象看看是否调用成功。在Main函数中添加如下代码:

复制代码 代码如下:

Person p = new Person(10,"强子");

执行会输出:

复制代码 代码如下:

超人的年龄1
我是叫强子的超人,年龄10

三、声明索引器

索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数,可以是字符串;this表示操作本对象的数组或集合成员,可以简单把它理解成索引器的名字,因此索引器不能具有用户定义的名称。例如:

复制代码 代码如下:

public class Person
{
    string[] PersonList = new string[10];
    public string this[int param]
    {
        get { return PersonList[param]; }
        set { PersonList[param] = value; }
    }
}

其中索引的数据类型必须与索引器的索引类型相同。例如:

复制代码 代码如下:

Person person = new Person();
person[0] = "hello";
person[1] = "world";
Console.WriteLine(person[0]);

看起来对象像个数组一样,呵呵。

时间: 2024-09-12 13:41:27

C#基础知识之this关键字介绍_C#教程的相关文章

C#基础知识之base关键字介绍_C#教程

一.调用基类已被派生类重写的方法 复制代码 代码如下: public class Father {     public virtual void Say()     {         Console.WriteLine("Father Say");     } }   public class Son : Father {     public override void Say()     {         base.Say();         Console.WriteLi

C#基础知识之new关键字介绍_C#教程

一.运算符 用于创建对象和调用构造函数.这种大家都比较熟悉,没什么好说的了. 二.修饰符 在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员. 无new关键字代码: 有new关键字代码: 结果: 注意: 在子类中用 new 关键字修饰定义的与父类中同名的方法,叫覆盖.覆盖不会改变父类方法的功能. 当子类创建父类时,代码中A c = new B(),覆盖不会改变父类的功能.依然还是调用父类的功能. 三.new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型. public clas

最基础知识摄像机之镜头介绍

关于最基础知识摄像机你了解多少,本文小编要为大家介绍的是最基础知识摄像机的镜头知识. 1.镜头的种类(根据应用场合分类) 广角镜头:视角90 度以上,观察范围较大近处图像有变形. 松下公司有WV-LA2R8C3.WV-LA210. 标准镜头:视角30 度左右,使用范围较广.松下公司有WV-LA9C3B. 长焦镜头:视角20 度以内,焦距可达几十毫米或上百毫米.松下公司有WV-LA18A.WV-LZ62/8 等. 变焦镜头:镜头焦距连续可变,焦距可以从广角变到长焦,焦距越长则成像越大.松下公司型号

C# 中的var关键字详细介绍_C#教程

C# var关键字详解 var 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型 就可以使用VAR 类似 OBJECT 但是效率比OBJECT高点. 或者通俗的讲:   var可以理解为匿名类型,我们可以认为它是一个声明变量的占位符.它主要用于在声明变量时,无法确定数据类型时使用. 使用var定义变量时有以下四个特点: 1. 必须在定义时初始化.也就是

c# 类和成员的修饰详细介绍_C#教程

基本概念: 一.类是对于业务处理对象的封装, 包括状态和行为的封装. 二.类的成员种类: 1.常量: 数据值恒定不变的一个符号 2.字段: 字段表示一个只读或者可读写的数据值. 通常用字段来标识一个类或者类产生对象的某种状态, 在实践中,通常将字段标识为private, 避免从类/对象外破坏类/对象的状态. 3.实例构造器(Constructor):将新对象的实例字段初始化为良好初始状态的一种特殊方法. 4.类型构造器,也就是静态的Constructor, 用来初始化类的静态字段. 5.方法:一

C# 泛型深入理解介绍_C#教程

引言: 在上一个专题中介绍了C#2.0 中引入泛型的原因以及有了泛型后所带来的好处,然而上一专题相当于是介绍了泛型的一些基本知识的,对于泛型的性能为什么会比非泛型的性能高却没有给出理由,所以在这个专题就中将会介绍原因和一些关于泛型的其他知识. 一.泛型类型和类型参数 泛型类型和其他int,string一样都是一种类型,泛型类型有两种表现形式的:泛型类型(包括类.接口.委托和结构,但是没有泛型枚举的)和泛型方法.那什么样的类.接口.委托和方法才称作泛型类型的呢 ?我的理解是类.接口.委托.结构或方

C# LINQ to XML应用介绍_C#教程

W3C制定了XML DOM标准,.Net为了支持W3C的标准,从1.1版本开始就引入了XmlDocument类.我在前一篇博客中,介绍了如何使用XmlDocument类来对XML文档进行操作.后来 .Net又引入了LINQ,于是LINQ to XML也就应运而生,所以在.Net中,不仅可以用W3C XML DOM标准,还可以使用LINQ to XML来操作XML文档.下面就来简单介绍一下如何使用LINQ to XML. (一) 加载 加载XML比较常用的有三种方法: 复制代码 代码如下: pub

C# 写入XML文档三种方法详细介绍_C#教程

我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作.它们分别使用了XmlDocument类和XDocument类.在本文中,我再介绍一个类,XmlTextWriter.我们分别用这三个类将同样的xml内容写入文档,看一看哪种写法最直观.简便. 我们要写入的XML文档内容为 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <Co

Fireworks基础知识:编辑或重新定义样式教程共享

编辑样式以启用或禁用特定的属性(如填充或笔触).重新定义样式以修改其中包括的任何滤镜. 在编辑或重新定义样式时,已应用该样式的所有对象将自动更新.但是,您可以中断所选对象与样式之间的链接. 编辑样式 1.选择"选择">"取消选择"取消选择画布上的任何对象. 2.双击"样式"面板中的某个样式. 3.在"编辑样式"对话框中,选择或取消选择属性. 4.单击"确定"将更改应用于样式. 重新定义样式 1.在画布