第一单元 .Net 平台介绍
第一单元 .Net 平台介绍
学习编程,电脑基本配置(当然配置越高越好):
内存 :初期学习8 G,后期可能跟不上, 最好16 G以上
硬盘:500 G,5400 转速,至少C盘是固态,全是固态最好
显卡:2 G, 最好是独显
分辨率:1920 * 1080
CPU 4核以上,i 5 可能已经跟不上了(台式机勉强),i 7 以上,最好不要用低压CPU
1. 什么是软件
实现某种特定功能的应用程序(application ,简写app
)
2. .Net 平台简介
.NET 是一种用于构建多种应用的免费开源开发平台,例如:
Web 应用、Web API 和微服务
云中的无服务器函数
云原生应用
移动应用
桌面应用
Windows WPF
Windows 窗体
通用 Windows 平台 (UWP)
游戏(神庙逃亡,
Unity3D Mono
)物联网 (IoT)
机器学习
控制台应用
Windows 服务
使用类库在不同应用和应用类型中共享功能。
使用 .NET 时,无论你正在构建哪种类型的应用,代码和项目文件看起来都一样。 可以访问每个应用的相同运行时、API 和语言功能。
跨平台
可以为许多操作系统创建 .NET 应用,包括:
Windows
macOS(苹果电脑操作系统)
Linux(免费)
Android
iOS
tvOS
watchOS
支持的处理器体系结构包括:
X64
x86
ARM32
ARM64
通过 .NET,可以使用特定于平台的功能,如操作系统 API。 例如 Windows 上的 Windows 窗体和 WPF,以及从 Xamarin 到每个移动平台的原生绑定。
有关详细信息,请参阅支持的 OS 生命周期策略和 .NET RID 目录。
开源
.NET 是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET 是 .NET Foundation 的项目。
有关详细信息,请参阅 GitHub.com 上的项目存储库列表。
4. 为什么选择.Net Core
.Net Core 并非是全家桶似的提供服务,而是按需所取,这样保证了它的运行效率。并且微软正在大力发展云原生(跨平台+微服务+虚拟化技术 )计划,.Net Framework 根本无法做到这一点。一旦选择开源,意味着生态的打造将会越来越丰富。
以下列出了市场上主要的编程语言的对比
PHP(LAMP): 原地踏步,不建议学
Java:在国内市场份额高,生态环境较好
GO :用于解决高并发,运行效率高。如:Docker,Dapr 等技术都是使用GO语言开发的。
C : YYDS, 可以做算法
前端:入门容易,使用范围广,后期乏力,薪资要不上去,因为核心业务都在后端
C++: 四不像,需要很强的编程能力才能驾驭,不建议学
C#: 前几年掉队,但最近些年一直在努力,属于潜力股,国外市场份额很高,国内很多大厂也开始使用
Phython:可作为第二编程语言
5. .Net Framework
都属于.Net 平台下的框架。
在2002年,微软发布了.NET框架的第一个版本,声称其解决了旧问题并实现了下一代系统的目的。.NET框架是一种比MFC和COM编程技术更一致并面向对象的环境。它的特点包括:
1)多平台。【面向异构网络、硬件平台和操作系统,可以在多种多样的系统上运行,从服务器、桌面机到PDA和移动电话。】 2)行业标准。【实现软件系统之间的智能交互和协同工作,使用行业标准的通信协议,比如:XML、HTTP、SOAP和WSDL。】 3)安全性。【提供一个标准化的、安全的、一致的模型和环境,提供更加安全的执行环境,即使有来源可疑的代码存在。】
Microsoft为.NET技术制定了一整套完整的规范,便是CLI(Common Language Infrastructure,公共语言基础结构,公共语言架构)。
CLI的组成: 1)CTS(Common Type System,公共类型系统)。【定义了一组丰富的内置类型,以及每种类新固有的、独有的特性;最重要的特征之一是所有类型都继承自公共的基类Object类】 2)CLS(Common Language Specification,公共语言规范)。【说明了.NET兼容编程语言的规则、属性和行为,其主题包括数据类型、类结构和参数传递】 3)CIL(Common Intermediate Language,公共中间语言)。 4)CLR(Common Language Runtime,公共语言运行库,也称公共语言运行时)。 5)BCL(Base Class Library,基类库)。【FCL的一个子集】 6)元数据定义、语义。 7)其他相关标准化文档、协议、规范。
.NET Framework 环境结构图:
重点记录
CLR: 公共语言运行时,提供了.Net 程序运行所需要的环境!!如:内存管理,代码安全验证,垃圾回收,异常处理。 C# 与 .Net ,.Net Framework, .Net Core的关系
.Net 平台下有很多种面向对象语言,如:Visual Basic(VB), F#,J# ,C# 等等。C# 是 微软推广与推荐在.Net 平台下使用的 “面向对象” 编程语言(一门技术)。于是平时我们所说的.Net 开发,基本上指的是C#开发。就像是我们提到阿里就会想到马云。
. Net 平台下提供了两种框架:.Net Framework, .Net Core。就像网约车司机光有车与开车技术,他依然不能成为网约车司机。他必须挂靠 滴滴,高德 等平台才能提供打车服务。滴滴,高德可以提供打车软件,分配订单等服务。同样的,.Net Framework, .Net Core 框架也提供了C#这门编程语言开发所需要必备基础功能服务。
6. 开发工具(IDE)-Visual Studio 2022
宇宙级开发神器:Visual Studio
JetBrains Rider: 自带反编译,智能提示
下载
https://visualstudio.microsoft.com/zh-hans/downloads/
Community: 社区版,免费开源使用,但只提供一些基本开发功能
选择推荐安装专业版或者企业版(个人学习使用)
安装选项
ASP.NET 和 Web开发 主要是为了开发Web应用程序,一定要选
.Net 桌面开发 主要是为了构造桌面应用程序( QQ,电脑管理等等)
Visual Studio 扩展 主要是可以创建空白解决方案
单个组件中勾选了 :
.Net 5.0 运行时 与 目前最新常支持版本(LTS) 是一个分叉口,市场上有很多应用或者教学案例选择5.0版本
.Net Core 3.1(LTS) 运行时, 目前市场上很多成熟的产品都是 3.1 版本开发
勾选完毕之后,点击安装,等待大约30-40分钟。
7. 创建项目
点击右侧的创建新项目
选择C# 语言,类型选择 控制台,因为控制台最适合入门,注意我们以.Net Core 为例子,.NetFramework已经被淘汰。
输入项目名称,选择存放路径,点击下一步
选择SDK 为 5.0 ,点击创建。
这里不选择.Net Core 6.0 版本是国为 ,5.0 与 6.0 是一个分水岭,6.0 以前的版本大都具有相同的项目结构,建议先从5.0 开始学习。 5.0 版本入门之后,可以选择6.0 进行深入学习。
8. 项目结构介绍
解决方案名称,一般以软件名称命令,例如,你开发微信这款软件,那么你的解决方案名称可以命名为"WebXin"
项目名称:一个解决方案下可能会有多个项目,如:微信下有 微信聊天项目,微信支付,微信公众号 等等项目。
Promgram.cs 是程序的入口类,也称主类,CLR在运行时会自动找到Program.cs 类,这个类名不要改动,也不要删除,必须叫这名,也必须存在!!在这里,大家必须要知道的是,看见.cs 结尾的文件,都是类。一般情况下,一个文件只会创建一个类,并且类名与文件名相同。
namespace : 定义命名空间的关键字,用于分隔类,一般一个项目(类库)都会作为一个独立的命名空间。如两个班级里都存在一个叫“张三”的,这时,班级名称就是用于区分这两个张三的“命名空间”
class : 定义类的关键字,类名一般与文件名相同
Main:主程序的入口方法(行为),CLR在启动运行时会自动执行。
Console.WriteLine("Hello World") , 向控制台输出 “Hello World” 这句话
using : 引用命名空间,Console 这个类的的命名空间在“System” 下, using System 表示引用System 这个命名空间,引用之后,才可使用Console 这个控制台类。
编译生成
运行一个程序之前,最好先进行编译生成MSIL( 微软中间语言,也就是CLR可以识别的东东)众所周知,计算机只能识别二进制代码,CLR 可以将MSIL再翻译成二进制代码让计算机识别。
还有一个原因:在编程时,再厉害的大神写代码永远不能保证不会出错。那么在运行程序之前,编译代码可以检查程序代码中是否包含语法错误。
生成方式
生成解决方案
选中解决方案--->右键--->生成解决方案
或者
菜单----->生成---->生成解决方案(重新生成解决方案)
生成解决方案,会将此解决方案下的所有项目都进行编译生成
生成项目
选中项目---->右键---->生成项目(重新生成项目)
此操作只会编译当前选中的项目以及它所依赖的项目,可能不会对所有的项目进行生成
如果显示 0 个失败则表示编译成功。
运行项目
点击 小图标
按F5 键盘
新建项目(类库),类
类库:存放类的仓库,表示里面会封装很多常用功能的类
新建项目
选中解决方案--->右键-->添加-->新建项目
新建类
选中项目(类库)-->右键-->添加-->类
9. 总结
CLR是什么?
运行时环境
.为什么选择.Net Core?
跨平台,开源,性能好,有潜力
.Net 与 .Net Core ,.Net Framework ,C# 之间的关系是什么
namespace ,using ,class 这些关键字的作用?
Program,Main,分别是什么?
如何新建项目,类?
解决方案,项目,类之间的关系是什么?
创建类时需要注意什么?
10. 作业
新建空白解决方案,命名为 "School"
新建控制台项目,命名为 “School.Console”
创建类库项目, 命名为“School.Model”
在“School.Model” 类库中新建类:Student.cs(学生类) , School.cs(学校类), ClassInfo.cs(班级类)
在 控制台项目 “School.Console” 中,打印输出 三行话
“学习使我快乐”
“好好学习,天天向上”
“我也正式成为一名程序员了!!”
在 控制台项目 “School.Console” 中,打印输出如下几个规则图形
直角三角形
*
**
***
****
*****等边三角形
*
*****
*********
*************
视频教程:誉尚学教育_誉尚学教育腾讯课堂官网 (qq.com)
或者:C# 最强入门编程(.Net 学习系列开山巨作)_哔哩哔哩_bilibili
猜你喜欢
联络方式:
400-123-789
邮箱:xiachao@163.com
Q Q:12345678