本文是C#初学者简单教程,这是第1篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。

一、什么是Microsoft .Net Framework?

.Net框架是由Microsoft开发的软件开发平台。该框架旨在创建可在Windows平台上运行的应用程序。.Net框架的第一个版本于2002年发布。它的跨平台版本.Net Core于2016年发布,这是一个令人兴奋的发展。

最初版本发布为.Net framework 1.0。从那时起,.Net框架已经走了很长一段路,当前版本(2019年12月)是4.7.2。另外,.Net Core已于2019年12月3日发布了3.1.0版本。

.NET框架可用于创建- 基于表单和基于Web的应用程序。Web服务也可以使用.Net框架进行开发。

该框架还支持各种编程语言,例如Visual Basic和C#。因此,开发人员可以选择语言,以开发所需的应用程序。在本章中,您将学习.Net框架的一些基础知识。

二、NET组件

.Net框架的体系结构基于以下关键组件:

1.公共语言运行时

公共语言基础结构或CLI是在其上执行.Net程序的平台。

CLI具有以下主要功能:

a)异常处理-异常是在执行应用程序时发生的错误。

异常的例子有:
如果应用程序尝试在本地计算机上打开文件,但该文件不存在。
如果应用程序尝试从数据库中获取某些记录,但是与数据库的连接无效。

b)垃圾收集-垃圾收集是将不需要的资源把它删除的过程。

垃圾收集的例子有:
不再需要的文件句柄。如果应用程序完成了对文件的所有操作,则可能不再需要文件句柄。
不再需要数据库连接。如果应用程序完成了对数据库的所有操作,则可能不再需要数据库连接。

c)使用各种编程语言-开发人员可以使用多种.Net编程语言开发应用程序。

一个完整的C#从开发到运行的状态如下:

a)使用语言编写代码。最常见的是VB.Net和C#,使用这些高级语言开发需要的业务逻辑。

b)编译器,每种编译语言都有一个单独的编译器。因此,作为VB.Net语言的基础,将有一个单独的VB.Net编译器。同样,对于C#,您将拥有另一个编译器。编译器负责将您使用高级语言编写的代码转为机器码。

c)通用语言解释器–这是.Net的最后一层。可用于运行以任何编程语言开发的.net程序。因此,编译器会将程序发送到CLI层以运行.Net应用程序。

​2.类库

.NET Framework包含一组标准类库。类库是可用于实现目的的方法和函数的集合。

例如,有一个类库,其中包含处理所有文件级操作的方法。因此,有一种方法可用于从文件中读取文本。同样,有一种方法可以将文本写入文件。

大多数方法都分为System。*或Microsoft。*命名空间。(星号*仅表示对属于System或Microsoft名称空间的所有方法的引用)

命名空间是方法的逻辑分离。通常System打头的为.Net Framewok命名空间,Microsoft打头的为.Net Core命名空间

3.开发类型

可以在.Net框架中构建的应用程序类型大致分为以下几类。

a)WinForms –用于开发基于Forms的应用程序,该程序将在最终用户计算机上运行。记事本是基于客户端的应用程序的示例。

b)ASP.Net –用于开发基于Web的应用程序,使其可以在任何浏览器(例如Internet Explorer,Chrome或Firefox)上运行。

该Web应用程序将在安装了Internet信息服务的服务器上进行处理。

Internet信息服务或IIS是一个Microsoft组件,用于执行Asp.Net应用程序。

然后将执行结果发送到客户端计算机,并在浏览器中显示输出。

c)ADO.Net –该技术用于开发与Oracle或Microsoft SQL Server 等数据库进行交互的应用程序。

Microsoft始终确保.Net框架符合所有受支持的Windows操作系统。

d)WebApi -该技术旨在分离前后端,让后端致力于处理业务逻辑,并公开接口形式开放给前端使用。

e)MVC -MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

三、.Net框架设计原则

.Net框架的以下设计原则使得创建基于.Net的应用程序非常出色。

1.互操作性-.Net框架提供了许多向后支持。假设您有一个基于.Net框架的较旧版本(例如2.0)构建的应用程序。如果尝试在具有更高版本.Net框架的计算机上运行同一应用程序,比如3.5。该应用程序仍然可以运行。这是因为Microsoft在每个发行版中均确保较早的框架版本与最新版本兼容。

2.可移植性-基于.Net框架的应用程序可以在任何Windows平台上运行。现在,Microsoft还计划使Microsoft产品在其他平台(例如iOS和Linux)上运行,.Net Core实现了这一点。

3.安全性-.NET Framework具有良好的安全性机制。内置的安全机制有助于验证应用程序。每个应用程序都可以显式定义其安全性机制。每种安全机制均用于授予用户访问代码或运行程序的权限。

4.内存管理-公共语言运行时执行所有工作或内存管理。.Net框架具有查看那些正在运行的程序未使用的资源的全部功能。然后它将相应地释放这些资源。这是通过称为“垃圾收集器”的程序完成的,该程序作为.Net框架的一部分运行。

垃圾收集器会定期运行,并继续检查未使用哪些系统资源,并相应地释放它们。

5.简化的部署-.Net框架还具有工具,可用于打包基于.Net框架构建的应用程序。然后可以将这些软件包分发到客户端计算机。这些软件包将自动安装该应用程序。

C#初学者教程系列1:什么是.NET Framework?相关推荐

  1. idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写

    本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...

  2. c#如何跳出一个函数_C#初学者教程系列9:类和对象

    本文是C#初学者简单教程,这是第9篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.将现实世界转为类 类是对现实世界的代码描述,也就是所说的 ...

  3. 在保护继承中基类的共有成员_C#初学者教程系列11:继承

    本文是C#初学者简单教程,这是第11篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.什么是继承 继承是面向对象编程的一种基本特性. 借助继 ...

  4. c#读取solidworks文件_C#初学者教程系列20:Stream流读写

    本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...

  5. SAP UI5 初学者教程之十九 - SAP UI5 数据类型和复杂的数据绑定

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  7. SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  8. SAP UI5 初学者教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  9. SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

最新文章

  1. Ubuntu中设置防火墙的开启与关闭
  2. 波士顿动力机器狗入驻庞贝古城,还要钻盗洞打击违法犯罪
  3. docker一次构建,快速部署
  4. helloworld设置成开机自启动的服务
  5. [省选联考 2020 A/B 卷] 冰火战士(树状数组上二分)
  6. matlab lmi 定义一个任意方阵,matlab中LMI应用说明
  7. #pragma once 与 #ifndef比较分析
  8. 11gR2 Grid Infrastructure Installation prerequisites On LINUX
  9. 自学mysql还是sql好_如何自学SQL?
  10. canvas双层复合饼图及点击效果的实现
  11. uniapp小程序根据经纬度精确定位
  12. 深入理解计算机系统第2版--读书笔记
  13. 论文中常用的对word页眉页脚的操作
  14. linux 查看显卡信息及显卡驱动信息
  15. KSO-vue创建项目以及安装npm与node
  16. 2022年计算机毕业设计选题参考
  17. ui设计范畴,ui设计分为哪几类
  18. 分享一次自己使用 pyecharts 模块 画地图,一路踩坑和填坑的经历
  19. V4L2_Utils目标平台编译
  20. php 无法加载activex,IE怎么无法加载 Activex 控件?

热门文章

  1. AISummit全球人工智能技术大会,洞悉AI技术的现在与未来
  2. OpenCV基础课程笔记09模糊图像(1)
  3. t-检验(t-test)的应用举例及matlab代码
  4. STC15F2K60S2设置内部时钟工作频率
  5. opc-ua协议机器数据采集-python
  6. 使用v-for循环展示多张图片,并且标记选中的图片
  7. Cent0S7安装oracle11g
  8. 常规的体检有哪些?要做什么准备?
  9. 《Windows95:A Developer's Guide》介绍
  10. 修复360篡改的,我的主页