c#中的this如何使用
7个回答
展开全部
第一个this的意思是调用Car(int petals)方法的属性petals。
2 第二个this的意思是实例化Car(String s, int petals)方法中的参数s(this.s = s)。
3 第三个this是调用Car(String s, int petals)方法的两个参数并传参。
4
5 在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
6 也可以用this来做为参数状当前实例做为参数传入方法.
7 还可以通过this[]来声明索引器
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 也可以用this来做为参数状当前实例做为参数传入方法. 还可以通过this[]来声明索引器 下面是你这段程序的注解: // 引入使命空间System using System;
// 声明命名空间CallConstructor namespace CallConstructor {
// 声明类Car public class Car {
// 未用Static声明的变量叫做非静态成员
//类的实例,我们只能在调用类的构造函数对类进行实例化后才能通过所得的实例加"."来访问 int petalCount = 0; // 在Car类中声明一个非静态的整型变量petalCount,初始值为0
String s = "null"; // 声明一个非静态的字符串变量s,初始值为"null";注意:s = "null"与s = null是不同的
// Car类的默认构造函数 Car(int petals) {
petalCount = petals; // Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值 Console.WriteLine("Constructor w/int arg only,petalCount = " + 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();
} } }
2 第二个this的意思是实例化Car(String s, int petals)方法中的参数s(this.s = s)。
3 第三个this是调用Car(String s, int petals)方法的两个参数并传参。
4
5 在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
6 也可以用this来做为参数状当前实例做为参数传入方法.
7 还可以通过this[]来声明索引器
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 也可以用this来做为参数状当前实例做为参数传入方法. 还可以通过this[]来声明索引器 下面是你这段程序的注解: // 引入使命空间System using System;
// 声明命名空间CallConstructor namespace CallConstructor {
// 声明类Car public class Car {
// 未用Static声明的变量叫做非静态成员
//类的实例,我们只能在调用类的构造函数对类进行实例化后才能通过所得的实例加"."来访问 int petalCount = 0; // 在Car类中声明一个非静态的整型变量petalCount,初始值为0
String s = "null"; // 声明一个非静态的字符串变量s,初始值为"null";注意:s = "null"与s = null是不同的
// Car类的默认构造函数 Car(int petals) {
petalCount = petals; // Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值 Console.WriteLine("Constructor w/int arg only,petalCount = " + 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();
} } }
展开全部
this是C#中的关键字,仅限于在构造函数、实例方法和类的实例中使用,它有以下定义:
1、在类的构造函数中出现的this作为一个值类型,表示对正在构造的对象本身的引用:
2、在实例方法中出现的this作为一个值类型,它表示对调用该方法的对象的引用
3、在结构的实例构造函数中出现的this作为一个变量类型,它表示对正在构造的方法的结构的引用。
4、在结构的实例方法中出现的this作为一个变量类型,它表示对调用该方法的结构的引用
class Point
{
public double x, y;
public Point(double x, double y)
{
this.x = x;//this在实例方法体内引用当前对象
this.y = y;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
它表示一个对象,哪个对象调用方法,获取属性,或者赋值等,他就是代表那个调用的对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this表示的是当前所在类型的指针,指的是针对当前类型成员的操作,指向当前类型的实例,如果相对继承的类型操作使用base关键字,this可以用在这里,比如:
class A{
string s = null;
public A(string s){
//在这里写s=s肯定不行,得用this.是表示类成员中的s,
this.s = s;
///类型B的构造函数中得有一个参数,需要类型A的实例,可以直接用过this把自己传递给B的构造函数。
B b = new B(this);
}
}
class B{
A a = null;
public B(A a){
this.a = a;
}
}
从类型A可以看出,A的构造函数参数s和成员s重名,但是可以通过this.s来指定当前类的成员的s而不是构造函数参数的s。B实例时候需要A类型的实例,但是new B的时候就是在A类型里面,可以直接this传递过去,此时this就等同于类型A的实例变量。
this表示当前类型成员,或者当前实例。
base表示集成的父级类型成员
class A{
string s = null;
public A(string s){
//在这里写s=s肯定不行,得用this.是表示类成员中的s,
this.s = s;
///类型B的构造函数中得有一个参数,需要类型A的实例,可以直接用过this把自己传递给B的构造函数。
B b = new B(this);
}
}
class B{
A a = null;
public B(A a){
this.a = a;
}
}
从类型A可以看出,A的构造函数参数s和成员s重名,但是可以通过this.s来指定当前类的成员的s而不是构造函数参数的s。B实例时候需要A类型的实例,但是new B的时候就是在A类型里面,可以直接this传递过去,此时this就等同于类型A的实例变量。
this表示当前类型成员,或者当前实例。
base表示集成的父级类型成员
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this作用很多,最多的是this。类
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询