第一单元 .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)CTSCommon Type System,公共类型系统)。【定义了一组丰富的内置类型,以及每种类新固有的、独有的特性;最重要的特征之一是所有类型都继承自公共的基类Object类】 2)CLSCommon Language Specification,公共语言规范)。【说明了.NET兼容编程语言的规则、属性和行为,其主题包括数据类型、类结构和参数传递】 3)CILCommon Intermediate Language,公共中间语言)。 4)CLRCommon Language Runtime,公共语言运行库,也称公共语言运行时)。 5)BCLBase Class Library,基类库)。【FCL的一个子集】 6)元数据定义、语义。 7)其他相关标准化文档、协议、规范。

.NET Framework 环境结构图:

第一单元 .Net 平台介绍

重点记录

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

  1. 宇宙级开发神器:Visual Studio

  2. JetBrains Rider: 自带反编译,智能提示

下载

https://visualstudio.microsoft.com/zh-hans/downloads/

第一单元 .Net 平台介绍

 

  1. Community: 社区版,免费开源使用,但只提供一些基本开发功能

  2. 选择推荐安装专业版或者企业版(个人学习使用)

安装选项

  1. ASP.NET 和 Web开发 主要是为了开发Web应用程序,一定要选

第一单元 .Net 平台介绍

 

  1. .Net 桌面开发 主要是为了构造桌面应用程序( QQ,电脑管理等等)

第一单元 .Net 平台介绍

 

  1. Visual Studio 扩展 主要是可以创建空白解决方案

第一单元 .Net 平台介绍

 

单个组件中勾选了 :

  • .Net 5.0 运行时 与 目前最新常支持版本(LTS) 是一个分叉口,市场上有很多应用或者教学案例选择5.0版本

  • .Net Core 3.1(LTS) 运行时, 目前市场上很多成熟的产品都是 3.1 版本开发

第一单元 .Net 平台介绍

 

勾选完毕之后,点击安装,等待大约30-40分钟。

7. 创建项目

  1. 点击右侧的创建新项目

第一单元 .Net 平台介绍

 

  1. 选择C# 语言,类型选择 控制台,因为控制台最适合入门,注意我们以.Net Core 为例子,.NetFramework已经被淘汰。

    第一单元 .Net 平台介绍

     

     

  2. 输入项目名称,选择存放路径,点击下一步

    第一单元 .Net 平台介绍

     

    1. 选择SDK 为 5.0 ,点击创建。

      第一单元 .Net 平台介绍

    这里不选择.Net Core 6.0 版本是国为 ,5.0 与 6.0 是一个分水岭,6.0 以前的版本大都具有相同的项目结构,建议先从5.0 开始学习。 5.0 版本入门之后,可以选择6.0 进行深入学习。

8. 项目结构介绍

第一单元 .Net 平台介绍

 

  1. 解决方案名称,一般以软件名称命令,例如,你开发微信这款软件,那么你的解决方案名称可以命名为"WebXin"

  2. 项目名称:一个解决方案下可能会有多个项目,如:微信下有 微信聊天项目,微信支付,微信公众号 等等项目。

  3. Promgram.cs 是程序的入口类,也称主类,CLR在运行时会自动找到Program.cs 类,这个类名不要改动,也不要删除,必须叫这名,也必须存在!!在这里,大家必须要知道的是,看见.cs 结尾的文件,都是类。一般情况下,一个文件只会创建一个类,并且类名与文件名相同。

  4. namespace : 定义命名空间的关键字,用于分隔类,一般一个项目(类库)都会作为一个独立的命名空间。如两个班级里都存在一个叫“张三”的,这时,班级名称就是用于区分这两个张三的“命名空间”

  5. class : 定义类的关键字,类名一般与文件名相同

  6. Main:主程序的入口方法(行为),CLR在启动运行时会自动执行。

  7. Console.WriteLine("Hello World") , 向控制台输出 “Hello World” 这句话

  8. using : 引用命名空间,Console 这个类的的命名空间在“System” 下, using System 表示引用System 这个命名空间,引用之后,才可使用Console 这个控制台类。

  9. 编译生成

    运行一个程序之前,最好先进行编译生成MSIL( 微软中间语言,也就是CLR可以识别的东东)众所周知,计算机只能识别二进制代码,CLR 可以将MSIL再翻译成二进制代码让计算机识别。

    还有一个原因:在编程时,再厉害的大神写代码永远不能保证不会出错。那么在运行程序之前,编译代码可以检查程序代码中是否包含语法错误。

    生成方式

    • 生成解决方案

      选中解决方案--->右键--->生成解决方案

      或者

      菜单----->生成---->生成解决方案(重新生成解决方案)

      生成解决方案,会将此解决方案下的所有项目都进行编译生成

    • 生成项目

      选中项目---->右键---->生成项目(重新生成项目)

      此操作只会编译当前选中的项目以及它所依赖的项目,可能不会对所有的项目进行生成

    第一单元 .Net 平台介绍

    如果显示 0 个失败则表示编译成功。

  10. 运行项目

  11. 点击 小图标第一单元 .Net 平台介绍

     

  12. 按F5 键盘 第一单元 .Net 平台介绍

     

新建项目(类库),类

类库:存放类的仓库,表示里面会封装很多常用功能的类

  1. 新建项目

    选中解决方案--->右键-->添加-->新建项目

    第一单元 .Net 平台介绍

    第一单元 .Net 平台介绍

  2. 新建类

    选中项目(类库)-->右键-->添加-->类

    第一单元 .Net 平台介绍

9. 总结

  1. CLR是什么?

    运行时环境

  2. .为什么选择.Net Core?

    跨平台,开源,性能好,有潜力

  3. .Net 与 .Net Core ,.Net Framework ,C# 之间的关系是什么

  4. namespace ,using ,class 这些关键字的作用?

  5. Program,Main,分别是什么?

  6. 如何新建项目,类?

  7. 解决方案,项目,类之间的关系是什么?

  8. 创建类时需要注意什么?

10. 作业

  1. 新建空白解决方案,命名为 "School"

  2. 新建控制台项目,命名为 “School.Console”

  3. 创建类库项目, 命名为“School.Model”

  4. 在“School.Model” 类库中新建类:Student.cs(学生类) , School.cs(学校类), ClassInfo.cs(班级类)

  5. 在 控制台项目 “School.Console” 中,打印输出 三行话

    1. “学习使我快乐”

    2. “好好学习,天天向上”

    3. “我也正式成为一名程序员了!!”

  6. 在 控制台项目 “School.Console” 中,打印输出如下几个规则图形

    1. 直角三角形

      *
      **
      ***
      ****
      *****
    2. 等边三角形

               *
            *****
          *********
        *************

 

视频教程:

C#入门到精通 - 网易云课堂 (163.com)文章来源地址https://www.toymoban.com/news/detail-463338.html

到了这里,关于第一单元 .Net 平台介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生 黑马Kubernetes教程(K8S教程)笔记——第一章 kubernetes介绍——Master集群控制节点、Node工作负载节点、Pod控制单元

    参考文章:kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为

    2024年02月04日
    浏览(53)
  • C++学习笔记-第11单元 标准模板库介绍

    注:本部分内容主要来自中国大学MOOC北京邮电大学崔毅东的 《C++程序设计》课程。 注:94条 C++程序规范。   本单元重点是对标准模板库中的 顺序容器 、 关联容器 的使用,以及 如何创建迭代器以遍历容器 。在使用容器时要注意不同容器的实现方式对遍历、搜索、删除、

    2024年02月13日
    浏览(39)
  • 【从零开始学习CSS | 第一篇】选择器介绍

    目录 前言: 选择器介绍: 各类选择器:  总结:         本文以及后续几篇文章我们将会集中介绍CSS中的常见选择器,选择器的出现可以让我们实现对具体的元素标签进行定制,因此我们要掌握好各类选择器的使用。         在CSS(层叠样式表)中, 选择器 是一

    2024年02月15日
    浏览(60)
  • .NET介绍与学习

    .NET分为两个阶段。一个是2002年推出的.NET Framework,一个是2016年推出的.NET Core(从.NET 5后统称.NET)。 (1):.NET Framework是20年前诞生的技术,那时候还没有云服务平台、容器、微服务等概念,微软也就没有考虑这些因素,因此我们基于.NET Framework进行新项目的开发就会有些力不从

    2024年04月12日
    浏览(16)
  • Linux高性能服务器编程 学习笔记 第一章 TCP/IP协议族

    现在Internet使用的主流协议族是TCP/IP协议族,它是一个分层、多协议的通信体系。 TCP/IP协议族包含众多协议,我们只详细讨论IP协议和TCP协议,因为它们对编写网络应用程序有最直接的影响。如果想系统学习网络协议,RFC(Request For Comments,评论请求)是首选资料。 TCP/IP协议

    2024年02月09日
    浏览(61)
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM平台编程第一天-ARM常见问题1-100问(物联技术666)

    链接:https://pan.baidu.com/s/1-u7GvgM0TLuiy9z7LYQ80Q?pwd=1688 提取码:1688 第1问:                         Q:请问在初始化CPU堆栈的时候一开始在执行mov r0, LR这句指令时处理器是什么模式                         A:复位后的模式,即管理模式.                   

    2024年01月24日
    浏览(54)
  • 程序员技能与成长:如何学习新的编程语言和代码规范与单元测试

    一名软件工程师的最大挑战就是使自己的技术栈跟得上技术的发展,而在这个技术飞速发展的时代,保证自己不被淘汰的唯一方法就是不断学习。 那么,程序员需要掌握多门编程语言吗?很多初学者都被这个问题所困扰。Google研究总监 Peter Norvig曾就这个问题给出自己的观点

    2024年04月10日
    浏览(45)
  • C/C++网络编程基础知识超详细讲解第一部分(系统性学习day11)

    目录 前言 一、网络的含义与构成 含义: 构成:  二、网络的体系结构 1OSI七层模型 2TCP/IP协议体系结构  3数据经过体系结构,怎么封装?  4端口号 5大小端序 6TCP/UDP传输层的协议  三、系统函数API学习框架(TCP)     服务器(优先):  客户端: 四、服务器和客户端代码实

    2024年02月08日
    浏览(47)
  • 第一单元 单元测试

    在我们之前,测试某些功能是否能够正常运行时,我们都将代码写到Main方法中,当我们测试第二个功能时,我们只能选择将之前的代码清掉,重新编写。此时,如果你还想重新测试你之前的功能时,这时你就显得有些难为情了,因为代码都被你清掉了。当然你完全可以把代码

    2024年02月07日
    浏览(41)
  • mooc单元测验第一单元

    OSI参考模型与TCP/IP参考模型(计算机网络)_osi模型 tcpip模型_李桥桉的博客-CSDN博客 会话层和物理层 HTTP连接 可能考察持久连接、非持久性连接,流水线方式 非持久性连接 我们发现无论是一个网页或者是一个图像都需要1个RTT的时间请求和上传内容。 持久性连接 只需要考虑链

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包