C#:强大编程语言的多面魅力

news2024/11/13 9:31:56

C#:强大编程语言的多面魅力

一、C# 语言的特点与优势

(一)简洁的语法与精心设计

C# 在继承 C 和 C++ 的强大功能的同时,去掉了一些复杂特性,如宏和多重继承,使得语言更加简洁易懂。C# 是一种面向对象的语言,使用类、对象和继承来组织代码,使得代码结构清晰,易于维护。例如,属性初始化器可以为属性设置默认值,字符串插入可以直接将变量插入到字符串中,无需使用字符串连接符,空合并运算符可以在变量为 null 时提供默认值。这些简洁的语法特性大大提高了开发效率。

(二)强大的功能特性

  1. 自动垃圾回收:C# 自带垃圾回收机制,自动管理内存,降低了内存泄漏的风险。当一个对象不再被引用时,垃圾收集器会自动回收该对象所占用的内存。例如,在 C# 中,当一个对象不再被任何变量引用时,垃圾收集器会在合适的时候回收它的内存,程序员无需手动管理内存的分配和释放。
  1. 异步编程:C# 支持异步编程模型,可以更好地处理 I/O 密集型操作。async 和 await 关键字使得异步编程更加简洁和易于理解。例如,在处理网络请求或文件读取等操作时,可以使用异步编程,让程序在等待这些操作完成的同时,继续执行其他任务,提高程序的响应性。
  1. LINQ:C# 中的语言集成查询(LINQ)特性,可以更加方便地进行集合查询。LINQ 提供了一系列强大的方法,如 Where、Select、OrderBy 等,可以对各种集合进行筛选、投影、排序等操作。例如,可以使用 LINQ 查询表达式来筛选出年龄大于 18 岁的人,或者对一个整数列表进行排序和平方操作。

(三)完全面向对象

C# 是一种完全面向对象的语言,它摒弃了 C++ 中的一些复杂特性,如多重继承。C# 以面向对象编程为核心,支持封装、继承和多态等特性。封装可以隐藏实现细节,增加代码的安全性和可维护性;继承可以实现代码的复用,减少重复代码;多态则使得同一个行为具有多个不同表现形式,提高了代码的灵活性和可扩展性。例如,通过封装,可以将数据和操作封装在一个类中,只暴露必要的接口给外部使用;通过继承,可以创建一个新的类,继承已有类的属性和方法;通过多态,可以根据不同的对象类型,调用相同的方法,产生不同的行为。

二、C# 开发工具推荐

(一)AI 辅助编程工具

在 C# 开发中,AI 辅助编程工具能够极大地提高开发效率。以下是五款支持 C# 语言的 AI 辅助编程工具及其特点:

  1. GitHub Copilot:这是一款付费的 AI 编码助手,可在编码时提供建议,有时是当前行的补全,有时是全新的代码块。它支持 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++ 等多种语言,可在 Visual Studio、Visual Studio Code、Azure Data Studio、JetBrains IDEs、Vim/Neovim 等工具中使用。
  1. CodeGeeX:一款基于大模型的智能编程助手,免费使用。功能丰富,包括代码的生成与补全、自动添加注释、解释代码、编写单元测试、审查代码、修复代码、生成 commit message 等。支持 Python、Java、C#、C++/C、JavaScript、Go 等多种语言,可在 Visual Studio Code、JetBrains IDEs、Visual Studio、HBuilderX、DeepIn-IDE 等中使用。
  1. Fitten Code:由非十大模型驱动的免费 AI 编程助手,能自动生成代码、调试 Bug、对话聊天解决编程问题。支持 javascript, markdown, java, json, php, python, csharp, typescript, html, c, cpp, yaml, zig, go, ruby, css, kotlin, shell 等 80 多种语言,可在 Visual Studio、Visual Studio Code、JetBrains IDEs、Vim 中使用。
  1. Baidu Comate:由文心大模型 ERNIE-Code 提供技术支持,免费工具。能自动生成完整的代码行或代码块,支持 C#、C/C++、Java、Python、Go、JavaScript、TypeScript、Rust、PHP、Kotlin、ObjectC 等 100 + 主流编程语言,可在 JetBrains、Visual Studio Code、Visual Studio、Xcode、Eclipse 等主流 IDE 中使用。
  1. CodeWhisperer:亚马逊出品的免费基于机器学习的通用代码生成器,可实时提供代码建议。支持 Python、Java、C#、JavaScript、Typescript 等 15 种编程语言,可在 VS Code、IntelliJ IDEA、Visual Studio(预览版)、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio 中使用。

(二)常用软件推荐

  1. Visual Studio:Microsoft 的旗舰集成开发环境 (IDE),为 C# 开发提供了全面的平台。包含代码编辑器、调试器、版本控制集成和丰富的工具库,提高开发效率。支持 C# 的最新版本,并提供大量模板和示例代码,适合大型项目开发。
  1. Visual Studio Code:Microsoft 的轻量级、开源 IDE,深受开发人员欢迎。提供代码编辑、调试、版本控制和扩展支持,是 C# 初学者和经验丰富的开发人员的不错选择。

(三)工具类集合

  1. 序列化工具:Newtonsoft.Json、System.Text.Json 可用于序列化操作,方便数据的传输和存储。
  1. 关系映射工具:Dapper 可以实现关系映射,简化数据库操作。
  1. 日志记录工具:NLog、Serilog 是常用的日志记录工具,帮助记录程序运行中的重要信息,便于故障排查。
  1. IOC 容器:Autofac 作为 IOC 容器,实现对象的依赖注入,提高代码的可维护性和可测试性。
  1. 对象映射工具:AutoMapper 用于对象映射,方便不同对象之间的数据转换。

三、C# 学习教程指南

(一)基础知识入门

C# 是一种由微软公司发布的面向对象的编程语言,它主要运行于.NET Framework 和.NET Core 之上。C# 语言的运行机制是通过编译器将源代码转换为中间语言(IL),然后由通用语言运行时(CLR)执行。运行时会进行即时编译(JIT)、垃圾回收和异常处理等操作。

对于开发工具的下载和设置,以 Visual Studio 为例。首先,打开官方下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/。个人学习使用建议下载社区版即可。下载完成后直接双击安装。安装过程中可能需要等待一段时间,让安装程序下载所需的组件。如果下载速度较慢,可以尝试一些解决方法,如禁用 IPV6 协议或修改 hosts 文件以提高下载速度。安装完成后,可以根据自己的需求进行项目创建和开发。

(二)语言特性学习

在 C# 中,数据类型包括值类型和引用类型。值类型如整数、浮点数、布尔值等,直接存储数据;引用类型如类、接口、数组等,存储对数据的引用。变量用于存储数据,可以根据数据类型进行声明和初始化。例如:int num = 10;声明了一个整数变量num并初始化为 10。

转义字符在 C# 中用于表示一些特殊字符,如换行符\n、制表符\t等。运算符包括算术运算符(如 +、-、*、/)、关系运算符(如 ==、!=、>、<)、逻辑运算符(如 &&、||、!)等。学习这些语言特性可以通过实际编写代码来加深理解。例如,编写一个简单的程序,使用不同的运算符进行计算和判断。

(三)编程实践指导

封装是面向对象编程的重要特性之一。在 C# 中,可以通过访问修饰符(如 public、private、protected)来实现封装。例如,将类的成员变量声明为 private,然后提供 public 的方法来访问和修改这些变量。这样可以隐藏实现细节,提高代码的安全性和可维护性。

数组是一种存储相同类型数据的集合。可以使用数组来存储一组整数、字符串等。例如:int[] arr = new int[5];声明了一个包含 5 个整数的数组。可以通过索引来访问数组中的元素,如arr[0]表示数组中的第一个元素。

结构是一种值类型,可以用于存储一组相关的数据。结构可以包含字段、方法和构造函数等。例如,可以定义一个表示坐标的结构:

struct oint

{

public int X;

public int Y;

public Point(int x, int y)

{

X = x;

Y = y;

}

}

类是 C# 中面向对象编程的核心。类可以包含数据成员、属性、方法和构造函数等。例如,定义一个简单的类:

class Person

{

private string name;

public string Name

{

get { return name; }

set { name = value; }

}

public Person(string name)

{

this.name = name;

}

}

通过这些示例,可以更好地理解 C# 的封装、数组、结构和类等方面的编程实践。

四、C# 在实际项目中的应用

(一)新手注意事项

作为新手在学习 C# 之前,有以下几点需要注意:

  • 了解 C# 的基本概念和语法:C# 是一种面向对象的编程语言,具有丰富的语法和特性,如类、对象、继承、多态、封装等。在学习 C# 之前,需要了解这些基本概念和语法,以便更好地理解和使用 C#。例如,在定义一个类时,可以使用访问修饰符(public、private、protected)来控制类成员的访问权限,实现封装。
  • 学习.NET 框架:C# 是.NET 框架中的一种编程语言,因此学习 C# 需要了解.NET 框架的相关知识,例如.NET Core、ASP.NET Core、Entity Framework Core 等。这些知识将有助于更好地理解 C# 在实际项目中的应用。比如,使用 Entity Framework Core 可以方便地进行数据库操作,实现对象关系映射。
  • 熟悉 C# 的开发工具:C# 可以使用 Visual Studio 等开发工具进行开发,因此在学习 C# 之前,需要熟悉这些开发工具的使用。Visual Studio 提供了强大的代码编辑、调试、版本控制等功能,能够提高开发效率。
  • 学习数据结构和算法:C# 是一种面向对象的编程语言,因此需要掌握数据结构和算法的基本知识,这将有助于更好地理解和使用 C#。例如,了解数组、链表、栈、队列等数据结构的特点和使用方法,以及排序、搜索等算法的实现。
  • 了解 C# 在实际项目中的应用:C# 在实际项目中有广泛的应用,例如桌面应用、Web 应用、移动应用、游戏开发等。因此在学习 C# 之前,需要了解 C# 在实际项目中的应用,以便更好地理解和使用 C#。

(二)枚举的应用

C# 中的枚举在项目中有诸多重要应用。

  • 基本运用:枚举可以理解为一个恒量的结合,也可以认为是一种类型。例如,可以定义一个表示微软技术的枚举:public enum MicrosoftTechnology{CSharp,ASPNETMVC,SQLServer,WCF,SilverLight}。此枚举默认值为 int 型,也可以根据需要指定枚举的数据类型。同时,可以为枚举指定每个枚举项的值,如[Flags]public enum MicrosoftTechnology{CSharp =1,ASPNETMVC =2,SQLServer =4,WCF =8,SilverLight =16}。这样可以方便地进行位运算,提高代码的可读性和可维护性。
  • 本地化:通过.net 泛型机制可以编写枚举本地化通用方法。例如,使用ResourceManager和GetString方法可以获取本地化的枚举字符串。这样可以方便地在不同语言环境下使用枚举,提高代码的可移植性。
  • 在 ORM 中的作用:在大中型系统中设计数据库表时,枚举可以提高代码的可读性和可维护性。例如,定义一个表示客户类型的枚举:public enum CustomerType{Trader =0,Supplier =1,Logistics =2}。在使用 LinqToSQL 时,可以将枚举映射到数据库表中的字段,这样开发者无需硬记 0、1、2 等数字代表的数据业务状态,提高了代码的可读性和可维护性。

(三)反射和 CodeDom 的应用

C# 反射和 CodeDom 在项目中可以提高代码的可读性和可维护性。

  • 反射的应用:反射可以在运行时获取程序集、类型、成员等信息,并可以动态地调用方法、访问属性等。例如,可以使用反射获取一个类的所有方法,并调用其中的特定方法。这样可以方便地实现插件式开发,提高代码的可扩展性。
  • CodeDom 的应用:CodeDom 可以在运行时生成代码,并可以将生成的代码编译为程序集。例如,可以使用 CodeDom 生成一个类的代码,并将其编译为程序集,然后在程序中动态地加载和使用这个程序集。这样可以方便地实现动态编程,提高代码的灵活性和可维护性。

总之,C# 在实际项目中有广泛的应用,新手在学习 C# 时需要注意了解基本概念和语法、学习.NET 框架、熟悉开发工具、学习数据结构和算法以及了解 C# 在实际项目中的应用。同时,枚举、反射和 CodeDom 等特性可以提高代码的可读性、可维护性和可扩展性,在实际项目中应该合理地运用这些特性。

五、C# 最新技术发展趋势

(一)前沿技术盘点

C# 作为一门不断发展的编程语言,始终紧跟技术潮流,推出了众多前沿技术。其中,.NET 6 是一个重要的里程碑,它强调高性能、跨平台和简化的统一开发体验。集成了许多新的性能改进,为开发者提供了更高效的开发环境。

C# 9 记录类型的引入简化了数据封装和比较。自动生成构造函数、实现IEquatable<T>和object.Equals(object)方法等功能,使得数据处理更加便捷。例如,在处理复杂的数据结构时,记录类型可以快速创建不可变的数据对象,提高代码的可读性和可维护性。

模式改进也是 C# 9 的一大亮点。使用属性模式解构可以更灵活地处理对象的属性,函数成员模式转换类型使得类型转换更加简洁,逻辑模式处理复杂逻辑则增强了代码的表现力。比如,在进行复杂的条件判断时,模式匹配可以让代码更加清晰易懂。

C# 9 顶层程序使得 C# 源代码文件可以直接成为一个程序的入口点,无需定义包含Main方法的类,减少了样板代码,提高了开发效率。

此外,云原生和微服务支持、异步编程模型的改进、ML.NET 机器学习框架、Blazor 服务器端应用、Asp.Net Core 的改进、Unity 的 C# 脚本以及 F# 与 C# 的互操作性等前沿技术,也为 C# 的发展注入了新的活力。

(二)未来前景展望

展望 2024 年,C#.NET 的跨平台能力将持续增强。随着.NET Core 和.NET 5/6 等版本的不断发展,C# 已经能够在 Windows、Linux、macOS 等多个操作系统上运行,未来还将支持更多的硬件平台,如 ARM 架构等。这将使得 C# 在移动应用开发、物联网等领域发挥更大的作用。

性能优化方面,微软将继续投入资源,对 C# 的运行时环境和编译器进行改进。预计 C# 的运行速度和内存占用都将有所提升,垃圾回收机制也将更加完善,减少内存泄漏和性能瓶颈。

在云原生与微服务支持方面,C# 将提供更加完善的支持。与容器化技术(如 Docker)的集成、与 Kubernetes 等编排工具的配合以及对 Serverless 计算的支持,将使得 C# 成为构建高效、可伸缩、可靠的云原生应用的理想选择。

人工智能与机器学习整合也是 C# 未来的发展方向之一。通过整合相关技术,C# 将为开发者提供更加便捷、高效的开发体验,无论是深度学习框架的集成还是机器学习模型的训练和部署,C# 都将提供强大的支持。

生态系统完善与社区发展也将推动 C# 的不断进步。更多的库和框架、更丰富的开发工具以及更活跃的社区支持,将使得 C# 的开发体验更加便捷、高效,吸引更多的开发者加入其中。

(三)排行榜预测解读

在 TIOBE 2023 年度编程语言排行榜中,C# 的表现十分出色。根据 TIOBE 的数据,C# 在过去一年中上涨了 2.38%,涨幅超过最接近的竞争者 Fortran 和 F#。这一数据表明 C# 在编程语言的受欢迎程度上有着明显的增长趋势。

C# 与 Java 之间的竞争尤为激烈。在过去几个月中,两者之间的差距逐渐缩小,达到了历史新低。在 10 月份,C# 和 Java 的差距仅为 1.2%,而在 12 月份,这一差距进一步缩小到了 0.69%。这意味着 C# 正在逐渐赶超 Java,成为更受欢迎的编程语言之一。

C# 相比于其他编程语言具有许多优势。工业界的高效应用使得 C# 可以非常高效地用于工业界,能够与大量已存在的 C、C++ 代码进行对接。与传统高级语言的相似性,C# 十分接近于传统高级语言 C 和 C++,是一门面向对象的编程语言,与 Java 有许多相似之处,拥有强大的编程功能,因此受到广大程序员的青睐。

此外,2023 年 12 月 16 日举办的.NET Conf Local Event 也为 C# 和.NET 的发展提供了重要的推动作用。这个峰会邀请中国开发人员共同参与,主题为 “智能、开源、安全”,为开发人员提供了一个学习和交流的平台。

综上所述,C# 在 TIOBE 2023 年度编程语言排行榜中的表现和优势,以及其不断发展的前沿技术和广阔的未来前景,都表明 C# 是一门充满活力和潜力的编程语言。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2142416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

根文件夹下文件重复检测

功能介绍&#xff1a;在传入Windows路径后&#xff08;例如“D:\小米云服务下载”&#xff09;&#xff0c;遍历文件夹下所视频有文件&#xff08;包括子文件夹下的视频文件&#xff0c;其他类型不做判断&#xff09;&#xff0c;判断视频文件是否重复&#xff08;由于视频文件…

运筹说 第125期 | 存储论经典例题讲解1

通过前几期的学习&#xff0c;我们已经学会了存储论的基本概念、确定型存储模型、单周期的随机型存储模型、其他的随机型存储模型以及存储论应用研究中的一些问题。在实际工作中&#xff0c;我们能发现存储论在能源行业中有着许多应用&#xff0c;本期小编选择了其中一些确定型…

错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

安装 zookeeper-3.8.4 版本的时候&#xff0c;启动zk打印如下错误日志 错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain后面查了下发现 zookeeper 3.5.5 版本以后&#xff0c;已编译的 jar 包&#xff0c;尾部有 bin下载的时候应该下载 编译后…

裸土检测算法实际应用、裸土检测算法样本、裸土检测算法精准检测

裸土检测算法是一种前沿的图像识别技术&#xff0c;它通过利用先进的图像处理技术和机器学习算法&#xff0c;从卫星图像、无人机拍摄的图像或其他地面监测数据中提取出裸土区域&#xff0c;并对其进行精确的分类和分析。 与传统的地面勘察方法相比&#xff0c;裸土检测算法具有…

1. YOLOv10: Real-Time End-to-End Object Detection

一、全文概述 文章主要介绍了YOLOv10在实时端到端目标检测方面的改进和创新。简要概述&#xff1a; 1.1 背景与挑战&#xff1a; 实时目标检测在计算机视觉领域具有重要意义&#xff0c;广泛应用于自动驾驶、机器人导航等场景。YOLO系列因其在性能和效率之间的有效平衡而受到…

fiddler抓包04_基础设置(字体/工具栏/抓包开关/清空)

课程大纲 1. 设置字体 菜单栏 “工具”&#xff08;tool&#xff09; - “选项”&#xff08;options&#xff09; - “appearance”&#xff0c;设置字号和字体后&#xff0c;点击确认&#xff0c;立刻生效&#xff08;无需重启&#xff09;。 2. 展开/收起工具栏 菜单栏 “…

Kotlin-Flow学习笔记

Channel 和 Flow 都是数据流&#xff0c;Channel 是“热”的&#xff0c;Flow 则是“冷”的。这里的冷&#xff0c;代表着 Flow 不仅是“冷淡”的&#xff0c;而且还是“懒惰”的。 Flow 从 API 的角度分类&#xff0c;主要分为&#xff1a;构造器、中间操作符、终止操作符。今…

Qt开发技巧(四)“tr“使用,时间类使用,Qt容器取值,类对象的删除,QPainter画家类,QString的转换,用好 QVariant类型

继续讲一些Qt技巧操作 1.非必要不用"tr" 如果程序运行场景确定是某一固定语言&#xff0c;就不需要用tr,"tr"之主要针对多语种翻译的&#xff0c;因为tr的本意是包含英文&#xff0c;然后翻译到其他语言比如中文&#xff0c;不要滥用tr&#xff0c;如果没有…

【算法】差分思想:强大的算法技巧

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

Linux(CentOS8)服务器安装RabbitMQ

我安装了很久都没有成功, 各种问题, 每次的异常都不一样, 现将成功安装过程做个总结 安装前工作 确保已经安装了一些基础工具和组件库 下载安装包 https://www.erlang.org/patches/otp-24.3.4.5 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.15/ra…

Python热频随机森林分类器算法模型模拟

&#x1f3af;要点 研究发射测量斜率和时滞热频率表征&#xff0c;使用外推法计算三维磁场并定性比较使用基于焓的热演化环模型模拟每条线的热力学响应&#xff0c;测试低频、中频和高频热场景使用光学薄、高温、低密度等离子体的单位体积辐射功率或发射率公式等建模计算使用直…

GPU加速生物信息分析的尝试

GPU工具分类 实话实说&#xff0c;暂时只有英伟达的GPU才能实现比较方便的基因组分析集成化解决方案&#xff0c;其他卡还需要努力呀&#xff0c;或者需要商业公司或学术团体的努力开发呀&#xff01;FPGA等这种专用卡的解决方案也是有的&#xff0c;比如某测序仪厂家&#xf…

基于stm32使用ucgui+GUIBuilder开发ui实例

1 项目需求 1.1 基于Tft 触摸屏实现一个自锁按键 1.2 按键在按下后背景色需要进行变化&#xff0c;以凸显当前按键状态&#xff08;选中or 未选中&#xff09; 1.3 按键选中时对某一gpio输出低电平&#xff0c;非选中时输出高电平 2 移植 ucgui UCGUI的文件数量很大&#x…

happens-before

happens-before 一、happens-before 规则的含义 happens-before 是 Java 内存模型&#xff08;JMM&#xff09;中用于定义多线程之间操作顺序的规则集合。它规定了如果一个操作 A happens-before 另一个操作 B&#xff0c;那么 A 的结果对 B 可见&#xff0c;并且在 B 执行之…

未来最好的程序开发语言:Rust - 安装rust

安装 Rust - Rust 程序设计语言一门帮助每个人构建可靠且高效软件的语言。https://www.rust-lang.org/zh-CN/tools/install 设置下载源:

开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序与社交电商的崛起

摘要&#xff1a;本文深入探讨了社交电商迅速发展壮大的原因&#xff0c;并分析了开源 AI 智能名片链动 21 模式 S2B2C 商城小程序在社交电商中的重要作用。通过对传统电商与社交电商的对比&#xff0c;以及对各发展因素的剖析&#xff0c;阐述了该小程序如何为社交电商提供新的…

【机器学习】6 ——最大熵模型

机器学习6——最大熵模型 目录 机器学习6——最大熵模型最大熵&#xff08;maximum entropy&#xff09;模型模型模型学习&#xff08;估计参数&#xff09;模型评价应用 最大熵&#xff08;maximum entropy&#xff09;模型 选择熵最大的概率模型 熵是衡量不确定性的&#xf…

7 递归——206. 反转链表 ★

7 递归 206. 反转链表 给你单链表的头节点head,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 算法设计 可以充分利用原有的存储空间,通过修改指针实现单链表的就地逆置。相当于将所有的箭头反向,头指针指向原链表的尾部。…

苏州科技大学、和数联合获得国家知识产权局颁发的3项发明专利证书

近日&#xff0c;基于“苏州科技大学-和数智能软件区块链技术工程实验室”的研究成果&#xff0c;国家知识产权局正式授权了苏州科技大学、苏州和数区块链应用研究院联合申报的3项发明专利证书。 分别为&#xff1a; 一种基于双账本的物联网数据存储与共享方法 一种面向物联网…

SpringBoot框架之KOB项目 - 配置Mysql与注册登录模块(上)

框架模型 每一个客户端&#xff08;client&#xff09;都会和后端&#xff08;SpringBoot&#xff09;进行通信&#xff0c;例如如果一个用户进行登录&#xff0c;需要向后端发送username、password&#xff0c;SpringBoot可以理解为一个一直在跑的程序&#xff0c;不断对用户…