首页 > 编程语言 >C# this关键字

C# this关键字

时间:2023-07-05 17:33:11浏览次数:42  
标签:Person C# number 关键字 窗体 Jack

this关键字的作用

在C#语言中规定使用this关键字来代表本类对象的引用。


下面给出例子帮助大家理解:

在项目中创建一个类Person,在类中定义一个setNumber()方法,并将该方法的参数值赋予类中的成员变量。并且创建了一个对象Jack

class Person{
·······
public void setNumber(String number)    //定义一个serNmuber()方法
{
    this.number=nember;               //将参数值赋予类中的成员变量
}
······
}

static void Main(string[] args)
{
    Person Jack=new Person();    //创建了一个Person对象Jack
}

//上面this.number相当于Jack.number。this代表对象Jack的引用
//所以说在C#语言中this关键字代表本类对象的引用

  

上面this.number相当于Jack.number。this代表对象Jack的引用
所以说在C#语言中this关键字代表本类对象的引用

如果省略this关键字,直接写成number=number,那只是把参数number赋值给参数变量本身而已,成员变量 number的值没有改变,因为参数number在方法的作用域中覆盖了成员变量number。


使用this关键字不一定要拘泥于this.成员变量或this.方法。也可以仅使用this。

如下代码

 public class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e) //一个button控件的单击事件
        {
            Form2 frm2 = new Form2();        //实例化Form2窗体
            frm2.Show();                     //用Show()方法打开窗体
            frm2.MdiParent = this;           //将当前窗体作为父窗体
        }
    }

  在上述代码中,this代表的是当前类Form1对象的引用

标签:Person,C#,number,关键字,窗体,Jack
From: https://www.cnblogs.com/qianjindelaowu/p/17529363.html

相关文章

  • 【CDX随笔总结】P1_Vertex 的整理和分析【未完成,持续编写】
    效果图提交单:https://github.com/CartmanORCamille/CDX/commit/afc7a52fc96466ddb1ab5233e4986bb739037e33关键点渲染管线基础。C与C++交叉编译和全局变量。位表(键盘事件,摄像机视角与观察点)。渲染几何体基础画一个正方体【猜测】demo里(gif图)在旋转的时候看不到底......
  • Spring Boot中Service层依赖注入问题随笔
    问题描述: Controller 层方法为 static 静态,引入 Service 层时使用 @Autowired 注解自动装配,Controller层方法里无法调用Service层,于是加static修饰Service层的注入产生错误:调用Service层进行数据库操作时,注入的Service层报空指针异常( NullPointerException )......
  • Jetson配置pytorch出现的问题
    由于无法安装Anaconda因此使用miniforge进行虚拟环境搭建,具体方法参照: 几个重要网站①JetsonZoo-eLinux.org 包含深度学习需要的下载资源配置② 安装pytorch后进行验证:1importtorch23defSettingTest():4print(torch.__version__)5print(torch.......
  • 使用GoEasy快速实现Android原生app中的websocket消息推送
    摘要:GoEasy带来了一项令开发者振奋的消息:全面支持Android原生平台!现在,您可以在Android应用中使用最酷炫的实时通信功能,借助GoEasy轻松实现消息的发送和接收。本文将带您领略GoEasy最新版本的威力,为您的应用增添一抹鲜活的互动色彩。嗨,开发者朋友们!是时候展现您的技术才华,让您的A......
  • SpringMVC框架详解:模型+核心组件+实现原理等详解
     MVC模型SpringMVC基于MVC模式,因此理解SpringMVC需要先对MVC模式有所了解。MVC是model、view、和controller的缩写,是软件开发中一种常用的架构模式。MVC各部分根据职责进行分离,使程序的结构更为直观,增加了程序的可扩展性、可维护性、可复用性。可以用如下的图形来......
  • 智能控制:BL102 PLC网关在泵站中的自动化应用
    随着工业智能化的快速发展,BL102PLC网关作为一种先进的工业自动化设备,在泵站远程监测领域发挥了重要的作用。通过BL102PLC网关,我们可以实现对泵站PLC的远程监测和控制,从而提高泵站的工作效率和管理水平。 一、BL102PLC网关的功能和应用场景BL102PLC网关是一种......
  • pytorch
    model.train()的作用是启用BatchNormalization和Dropout。model.eval()的作用是不启用BatchNormalization和Dropout。训练流程:deftrain(model,optimizer,epoch,train_loader,validation_loader):forbatch_idx,(data,target)inexperiment.batch_loop(it......
  • django中使用form表单或者ajax提交数据时如何验证csrftoken
    使用form表单来提交数据时,如何验证csrftokenajax提交数据时验证csrftoken在需要提交的html页面引入以下js文件就行引入csrf.js文件<scriptsrc="{%static'js/csrf.js'%}"></script>文件内容:/***根据cookie的name获取对应的值*@paramname*@returns{null}......
  • 基于DirectX11+ImGui的Win32桌面程序开发
    一、常见图形界面框架(DirectUI、GUI)1.题外话,纯属扯O举两个常用的开发框架,MFC和QtWidget里面每个控件都是Window,这是和DirectUI最大的区别。下面简单梳理下这个DirectUI与GUI之前错综复杂的爱恨情仇:1.在侏罗纪时期,传统的Handle式GUI框架,是由操作系统内核(win32k.sys)直......
  • EndNote 20 文献论文管理软件 英文mac/win版
    EndNote20是一款流行的文献论文管理软件,旨在帮助研究人员和学生组织、管理和引用其学术资源。EndNote20具有强大的功能,可以帮助用户更有效地管理和利用各种学术文献。该软件提供了一个集中的平台,使用户能够收集、组织和存储从各种来源获取的文献。→→↓↓载EndNote20mac/win......