当前位置: 首页 > article >正文

C#入门教程

目录

1.if分支语句

2.面向对象

3.static简单说明


1.if分支语句

我们的这个C#里面的if语句以及这个if-else语句和C语言里面没有区别,就是打这个输出上面的方式不一样,c#里面使用的是这个console.writeline这个指令,其他的这个判断逻辑都是一样的,因此我在这里就不再赘述了;

2.面向对象

下面的这个是我们面向过程的一个实例,这个是我们之前使用的一个方式,尤其是最开始学习这个C语言的时候,就是面向过程的:

基于这个例子,我们上面的这个实际上就是定义了两个变量,一个变量就是我们的大侠,一个变量就是我们的女侠,他们各自都有自己的一些属性,但是这个属性的数值是不一样的;

例如这个名字,技能伤害,身高,基础的伤害等等,我们每一次想要输出的时候,都要这个变量的名字不一样,例如我们的大侠的名字,我们定义的是name1,这个时候我们的女侠的名字就是name2,就是两个名字不可以一样,而且我们需要把这个变量定义两次;

我们首先去要去实例化一个对象,我们的这个大侠就是一个类,有男大侠和女大侠,这个时候我们的男大侠就是一个对象,女大侠也是一个对象,两个对象都有这个名字,性别,伤害,攻击力等属性,这个时候,我们就可以把这些公共的属性放到一个类里面去;

然后我们使用我们创建的对象,再去定义对应的属性,hr就是女大侠,hr.mingzi 就是女大侠的名字,这个就是面向对象的思想,把相同的属性封装成为一个类,把这些属性定义到这个类里面去,然后实例化对象,每一个对象都有这个类里面的属性特征,进而进行各自的定义;

这样的好处就是我们的这个变量不要定义很多,因为我们把这个变量放到类里面去了,我们可以直接调用,需要注意的就是我们的这个类里面的属性需要设置为共有的public,不然实例化之后我们没有办法访问这个属性;

这个new就是进行定位类的实例化操作,其中这个hero()里面的这个就类似于C++里面的构造函数,可以这样理解,这样我们就有了自己的内存空间

3.static简单说明

static修饰的内容我们可以简单的划分为两个部分:一个就是修饰这个变量,一个就是修饰我们的函数;

先来聊一聊这个static修饰变量吧,这个变量就是我们定义在class这个类里面的,准确的讲应该叫做属性,我们需要把这个类实例化为对象之后才可以进行访问,这个实例化之后才会为这个属性变量开辟内存空间,但是对于这个static修饰的变量而言,相当于程序执行之后就会直接开辟空间,无论我们是否进行类的实例化,对于这个都是没有影响的;

static修饰的函数也是的,因为函数被这个static修饰了之后,我们的空间就被开辟了出来,这个时候函数里面只能去调用这个static变量,因为其他的普通的变量需要实例化之后才有自己的空间,我们这个时候没有办法直接对他们进行调用;

什么时候使用static呢---我们的每一个对象都要使用这个变量属性,这个时候每一个对象的这个属性都是不一样的,这样的话我们的这个属性就不可以使用static了,如果是没有什么关系的变量,我们就可以加上static,这个时候我们就可以直接访问;


http://www.kler.cn/news/321583.html

相关文章:

  • python 实现knn sklearn K近邻分类算法
  • 最新的iOS 18版本和Android 15版本系统分别升级了哪些功能?
  • [大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26
  • SLF4J报错log4j又报错
  • 新书推荐——《深度学习精粹与PyTorch实践》
  • 网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了
  • Linux下的基本指令/命令(二)
  • 面试小妙招:轻松绕过五大“坑”,展现真实自我
  • python中数据处理库,机器学习库以及自动化与爬虫
  • 设计模式-行为型模式-中介者模式
  • 【C#】DllImport的使用
  • 力扣19 删除链表的倒数第N个节点 Java版本
  • eBPF系列:开发流程
  • 【HarmonyOS】鸿蒙仿iOS线性渐变实现
  • 如何像专家一样修复任何 iPhone 上的“iPhone 已禁用”错误
  • 【Go】Go语言切片(Slice)深度剖析与应用实战
  • chsharp文件如何查找在unity中使用的 位置?
  • 【React】组件通信
  • docker windows下清理后,磁盘空间未释放原因及解决方法
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-27
  • Linux之我不会
  • 【stm32】TIM定时器输出比较-PWM驱动LED呼吸灯/舵机/直流电机
  • 使用Ruby进行视频内容的自动化分析
  • springboot+大数据基于数据挖掘的招聘信息可视化大屏系统【内含源码+文档+部署教程】
  • 调用飞书接口导入供应商bug
  • 高级java每日一道面试题-2024年9月26日-运维篇[分布式篇]-如何保证每个服务器的时间都是同步的?
  • 【vue-media-upload 升级玩法】一个页面用两个Uploader,一个上传图片,一个上传视频(分开传,容易分开设置和展示图片和视频)
  • 解决远程连接AlpineLinux Mysql/MariaDB 无法连接的问题
  • FortiGate 无线组网
  • 深度学习:卷积神经网络CNN