c#中this的用法

本文详细介绍了C#中构造函数的使用方法,包括默认构造函数、重载构造函数及如何利用this关键字调用不同构造函数。并通过具体示例展示了如何初始化类的成员变量。
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
也可以用this来做为参数状当前实例做为参数传入方法.
还可以通过this[]来声明索引器

下面是你这段程序的注解:
// 引入使命空间System
using System;
// 声明命名空间CallConstructor
namespace CallConstructor
{
// 声明类Car
public class Car
{
// 在Car类中:
// 声明一个非静态的整型变量petalCount,初始值为0
// 未用Static声明的变量叫做静态变量,非静态成员属于
类的实例,我们只能在调用类的构造函数对类进行实例化后才能通过所得的实例加"."来访问
int petalCount = 0;
// 声明一个非静态的字符串变量s,初始值为"null";
// 注意:s = "null"与s = null是不同的
String s = "null";
// Car类的默认构造函数
Car(int petals)
{
// Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值
petalCount = petals;
// 输出petalCount
Console.WriteLine("Constructor w/int arg only,petalCount = " + petalCount);
}
// 重载Car类的构造函数
// : this(petals) 表示从当前类中调用petals变量的值来作为构造函数重载方法Car(String s, int petals)的第二个参数
Car(String s, int petals)
: this(petals)
{
// 在构造函数中为s赋值
// 非静态成员可以在构造函数或非静态方法中使用this.来调用或访问,也可以直接打变量的名字,因此这一句等效于s = s,但是这时你会发类的变量s与传入的参数s同名,这里会造成二定义,所以要加个this.表示等号左边的s是当前类自己的变量
this.s = s;
Console.WriteLine("String & int args");
}
// 重载构造函数,: this("hi", 47) 表示调Car(String s, int petals) 这个重载的构造函数,并直接传入变量"hi"和47
Car()
: this("hi", 47)
{
Console.WriteLine("default constructor");
}
public static void Main()
{
Car x = new Car();
Console.Read();
}
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值