时间:2021-05-20
一、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]);
看起来对象像个数组一样,呵呵。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++primer基础之容器insert今天学习C++基础知识的时候遇到这样问题,始终出现segmentsfault。最后才发现原来是自己对“容器insert之
rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。基础知识:rownum只能做
本文介绍C#lock关键字,C#提供了一个关键字lock,它可以把一段代码定义为互斥段(criticalsection),互斥段在一个时刻内只允许一个线程进入执
前言用过c#的可能对yield关键字爱不释手,那么在像我这种被迫上java贼船的人,就想找到类似的功能。关于c#中的yield关键字大家可以参考这篇文章:我使用
众所周知C#提供Async和Await关键字来实现异步编程。在本文中,我们将共同探讨并介绍什么是Async和Await,以及如何在C#中使用Async和Awai