C# this关键字的四种用法
作者:天碼亦行空 发布时间:2022-10-06 07:09:22
标签:C#,this,关键字
本文实例为大家分享了C# this关键字的四种用法,供大家参考,具体内容如下
用法一 this代表当前实例,用this.显式调用一个类的方法和成员
namespace Demo
{
public class Test
{
private string scope = "全局变量";
public string getResult()
{
string scope = "局部变量";
// 在这里,this代表Test的实例,所以this.scope指向的是全局变量,scope所访问的是局部变量
return this.scope + "-" + scope;
}
}
class Program
{
static void Main(string[] args)
{
try
{
Test test = new Test();
Console.WriteLine(test.getResult());
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
Console.ReadLine();
}
}
}
用法二 通过this实现原始类型的扩展(下一篇详解)
用法三 通过this实现索引器,可用于优化程序性能(下一篇详解)
用法四 用this串联构造函数
namespace Demo
{
public class Test
{
public Test()
{
Console.WriteLine("无参构造函数");
}
// 这里的this()指向的是Test()无参构造函数
// 相当于继承了无参构造函数
public Test(string text) : this()
{
// 程序进来后会先执行Test()无参函数,然后继续往下边执行
Console.WriteLine(text);
Console.WriteLine("有参构造函数");
}
}
class Program
{
static void Main(string[] args)
{
try
{
Test test = new Test("张三");
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
Console.ReadLine();
}
}
}
}


猜你喜欢
- 一直以来,我们都是在服务端查询出结果生成JSON字符串,供前端调用,那么我们能否把从前端接受的JSON字符串转换成字典集合,让后台处理呢?比
- Android 列表组件 ListView列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显
- 效果图激活引擎第一步配置APP_ID和SDK_KEY int activeCode = FaceEngine.activeOnline( C
- 一、常见场景1、ThreadLocal作为线程上下文副本,那么一种最常见的使用方式就是用来方法隐式传参,通过提供的set()和get()两个
- 一、编译步骤解压下载的GDAL源程序,并在命令行中切换到解压目录。tar -xzvf gdal-2.1.3.tar.gzcd gdal-2.
- 这篇文章使用Java组件显示窗口,在通过输入的图片url地址在窗口中显示出来,可作为一个网络图片查看器,感兴趣的可以打包成jar或者.exe
- 常用的类:@ConditionalOnProperty(name = "use.redis.session.store"
- 如下所示:import java.util.ArrayList;//java中申请不定长度数组public class Test01 {pu
- @PathVariable接收两个参数首先@PathVariable无法接收对象,但是可以接收多个值var data = obj.data;
- mybatis 报错显示sql中有两个limit使用mybatis进行分页查询时,打印的查询sql中带有两个limit。经过审查:原因是由于
- Glide 加载图片使用到的两个记录Glide 加载图片保存至本地指定路径/** * Glide 加载图片保存到
- 首先javascript只有这些个类型:1、Number 在JavaScript中的双精度浮点格式 2、String 双引号的反斜杠转义的U
- 即只能在组件布局代码后,或者在组件的前面添加注释。#注释格式:Android的XML文件注释一般采用 <!--注释内容 -->的
- 一、简介  本文今天主要是讲Redis中对过期key的监听,可能很多小伙伴不会,或者使用会出现一些不可思
- 本文实例讲述了C#中datagridview的EditingControlShowing事件用法。分享给大家供大家参考。具体实现方法如下:u
- 前言之前做移动端开发,都不清楚WebService是啥东东,现在接触c#,项目中有三处WebService调用,就不得不与其打交道了,最近碰
- 一、介绍Android的大部分自定义软键盘主要是通过android自带控件KeyboardView实现的。那么,有没有其他简单易上手的方法来
- 一、题目描述题目:同步锁出现的目的就是为了解决多线程安全问题。同步锁的几种方式synchronized1、同步代码块2、同步方法jdk1.5
- 本篇介绍线性图标RecyclerLineChart 的绘制,对于图表的公共部分X、Y轴,背景Board等的绘制先前章节已经有过介绍,这里不再
- 本文实例总结了Android实现计时与倒计时的常用方法。分享给大家供大家参考,具体如下:方法一Timer与TimerTask(Java实现)