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,这个时候我们就可以直接访问;

相关推荐
kim5 分钟前
一个人 + AI,用 WinForms 搓了个 376KB 的 Windows 便签:便签 / 截图 / 标注 / OCR / 待办全塞进去了
c#
weixin199701080168 分钟前
《1688消息服务落地方案:alibaba.message.* 与 Webhook 回调的可靠性与重试策略》(附Python源码)
开发语言·python
ZHOUPUYU17 分钟前
PHP 9.0 前瞻:下一代 PHP 会带来哪些新功能?
android·开发语言·php
某不知名網友18 分钟前
ROS2 核心通信:话题发布与订阅详解
开发语言·c++
C++ 老炮儿的技术栈19 分钟前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
hez201019 分钟前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
Nebula_g30 分钟前
JavaSE加强:线程Thread(线程安全重点)
java·开发语言·jvm·算法·javase·技术栈
小灰灰搞电子36 分钟前
Rust+Slint 实现一个终端软件源码分享(半成品)
开发语言·rust
大鹏说大话37 分钟前
C++ STL 容器怎么选?vector、list、map、unordered_map 对比
开发语言·c++·list
宇卿.43 分钟前
C#语句:
开发语言·c#