首页 > 编程语言 >c#中this的几种用法

c#中this的几种用法

时间:2023-11-13 14:33:17浏览次数:29  
标签:调用 静态方法 c# TestString 几种 参数 用法 方法 构造函数

一、区分当前类的对象

这个是常用的功能,如下图,熟悉的可以直接跳过,假设当前类有一个全局变量和当前方法中的参数名一模一样的时候,Visual Studio 就会提示异常,因为系统不知道你到底要给谁赋值,按 C# 的编程规范来说,全局变量最好第一个字母用大写,当然你也可以用小写,在遇到下面的这种情况时,只要前面加一个 this,系统就知道左边的 name 是当前类的成员,而右边的 name 则是方法的参数。

二、作为参数传递
如果其他类的参数类型和当前类一致,直接写 this 即可

三、作为索引器
作为索引器,在平时的项目中用的并不多,但在微软给我们封装好的方法中,用的特别多,我们常用的数组,List 等,基本都是使用索引器去读取的。

四、调用其他的构造函数
在实例化当前的类的时候,不仅仅是调用一个构造函数,用 this 就可以调用其他的构造函数,甚至在调用的时候,还可以执行其他的属性,字段,调用其他的方法,这些都是没问题的。

五、扩展静态类方法
扩展方法的核心三要素是静态类,静态方法,和this参数。

既在静态类中定义的静态方法,该方法的第一个参数带this

在上面的 TestString 方法中,参数前面加 this ,可以理解为 给 string 类 添加了一个 静态方法 TestString,那么我们可以在其他的类中使用 string 类型变量直接调用这个方法了,而不需要使用 Espandi.TestString() 这种方式调用。
————————————————
版权声明:本文为CSDN博主「熊思宇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38693757/article/details/126305183

标签:调用,静态方法,c#,TestString,几种,参数,用法,方法,构造函数
From: https://www.cnblogs.com/nyan/p/17829022.html

相关文章

  • 小程序性能提速秘籍:CSS代码优化,让小程序轻松翻倍酷炫!
    引言:Hello,小程序开发小能手们!是不是有时候发现小程序的加载速度有点慢,页面样式显示有点乱?别急,今天小编要传授一招“CSS代码优化”的技能,让你的小程序风驰电掣,页面秒变酷炫!我们要一起玩得开心,不让性能问题影响我们的小程序!......
  • Centos7 nginx反向代理gitea和grafana&钉钉告警
    1安装nginxyuminstall-ygccmakepcre-develzlib-developenssl-develwgethttps://nginx.org/download/nginx-1.20.1.tar.gztar-zxvfnginx-1.20.1.tar.gzcdnginx-1.20.1./configure--prefix=/usr/local/nginx--with-http_ssl_modulemakemakeinstallvi/etc/system......
  • 使用tracemalloc对python内存进行分析
    1.通过两次快照对importtracemalloc#这个是python自带的defon_start():'''需要测试的代码'''passtracemalloc.start()snapshot1=tracemalloc.take_snapshot()on_start()#需要测试的代码snapshot2=tracemalloc.take_snapshot(......
  • 汇编-INC(递增)和DEC(递减)
    INC(递增)和DEC(递减)指令分别表示将寄存器或内存操作数加1和减1。语法如下:INCreg/memDECreg/mem溢出标志、符号标志、零标志、辅助进位标志,以及奇偶标志会根据目的操作数的值而发生变化。INC和DEC指令不影响进位标志.386.modelflat,stdcalloptioncasemap:none......
  • 优秀的前端工具FinClip Studio 有哪些值得期待的价值点?
    现今,移动应用程序已成为一项重要的技术,人们几乎在所有方面都使用移动应用程序,包括社交媒体、电子商务、娱乐、健康和生产力等领域。用户对移动应用程序的体验和功能需求越来越高,这意味着开发人员需要花费更多的时间和精力来确保应用程序的质量和用户体验。幸运的是,现在有许多可用......
  • oracle aud$造成system爆满问题
    我的数据库并没有开启对象审计,只有一些语句和权限的审计selectcount(*),usernamefromdba_audit_trailgroupbyusername;388"LIONIRPT"101062"YGLCUSR"57"APP_USR"2612712"PROM_MONITOR"1010"WALLET"4078"......
  • C# 下的HTTP断点续传
    在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机(浏览器)向服务器(WEBSERVER)提交请求时发送报文的协议。回复协议是由服务器(webserver),向客户机(浏览器)回复报文时的协议。请求和回复协议都由......
  • Cloudflare真人验证
     #importos#importtime#fromseleniumimportwebdriver#fromselenium.webdriver.support.uiimportWebDriverWait#fromselenium.webdriver.supportimportexpected_conditionsasEC#fromselenium.webdriver.common.byimportBy####指定webdriver的路径#chro......
  • BOSHIDA DC电源模块的电阻或电位器对输出电压的调节
    BOSHIDADC电源模块的电阻或电位器对输出电压的调节DC电源模块是电子设备中广泛应用的一种电源模块,它能够将交流电转换为稳定的直流电,并为其他电路或设备提供所需的电源。在一些场合中,需要对DC电源模块的输出电压进行调节,这是通过电阻或电位器来实现的。 DC电源模块中的电阻......
  • Model Inspector—软件模型静态规范检查工具
    产品概述    ModelInspector(MI)原厂商是韩国Suresoft,是KOLAS国际公认测评机构,旨在提升安全关键领域软件可信度。MI用于开发过程中模型的静态检查,包括规范检查、复杂度度量,提供MAAB、HIS、CG、MISRA_AC_SLSF、MISRA_AC_TL、dSPACE标准规范及检查,检查Simulink、Targetlink等......