C#中this保留字的用法
一、this保留字
this保留字一般只在构造函数、类的方法和类的实例中使用。它有以下含义:
?在类的构造函数中出现的this,则作为一个值类型,表示对正在构造的对象本身的引用。
?在类的方法中出现的this,则作为一个值类型,表示对调用该方法的对象的引用。
?在结构的构造函数中出现的this,则作为一个变量类型,表示对正在构造的结构的引用。
?在结构的方法中出现的this,则作为一个变量类型,表示对调用该方法的结构的引用。
除此之外,在其它地方使用this保留字都是不合法的。
二、提示
假如类中有一个成员变量a,同时在该类的成员函数中又定义了一个局部变量a,此时就必须使用this关键字来指定类的成员变量a了,具体写法就是:
this.a // 指定类的成员变量a,而不是成员函数中的局部变量a请阅读三、示例。
注:在类中,所谓的成员函数,实际上就是类的方法。
this表示当前类。
比如在一个类A中有一个b方法。如果要在类A中调用这个b方法,就可以使用:
this.b如果要在别的类中调用这个方法,就必须先实例化一个对象,然后再调用:
A a = new a();
a.b
在静态的方法中不能使用this,比如main方法就是一个静态的方法,因此,不能在main方法中使用this。
三、示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class classTest // 自定义类classTest
{
private int age = 20; // 私有成员
public int ShowAge1(int age)// 参数和私有成员重名。
{
return this.age; // 返回的是私有成员age的数值
}
public int ShowAge2(int age)
{
return age; // 返回的是参数的数值
}
// 如果参数和私有成员不重名,在方法中访问成员时不需要添加this,
// 但好的习惯是加上this。
public int ShowAge3(int newage)
{
return age;
}
public int ShowAge4(int newage)
{
return this.age;
}
}
namespace Test
{
class Program
{
static void Main(string[] args)
{
// C#中this保留字的用法-www.baike369.com
classTest classTest1 = new classTest();
Console.WriteLine(classTest1.ShowAge1(100));
Console.WriteLine(classTest1.ShowAge2(100));
Console.WriteLine(classTest1.ShowAge3(100));
Console.WriteLine(classTest1.ShowAge4(100));
Console.ReadLine();
}
}
}
运行结果:
20
100
20
20
最新文章
- mysql按日期检索数据
- django开发个人简易Blog——数据模型
- 通过反射将变量值转为变量名本身ZZ
- tmux protocol version mismatch (client 7, server 6)
- MVC.Net: 解决Attempted to access an unloaded appdomain的问题
- 一个有趣的IE内核检测网站
- Linux常用到的指令汇总
- java中的IO流
- [Windows] php开发工具,zendstudio13使用方法补丁
- Java Web Services (0) - Overview
- AndroidStudio引入so文件
- maven相关的学习资料
- cadence元件放置方法
- Mongodb 的ORM框架 Morphia之注解
- eclipse 无法记住svn密码
- Android核心技术Intent和数据存储篇
- php 文件上传 $_FILES 错误码
- sphinx搜索 笔记
- Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- 浅谈如何写出一个让(坑)人(王)很(之)难(王)发现的bug