我们一直在谈论主流编程语言,以至于我们大多数人都看到Python,Java,SQL等。 还有许多其他动态框架和语言,例如我们今天所选择的主题。 C Sharp或C#,它们在全球软件开发社区中起着不可或缺的作用。 让我们深入研究C#的基础知识以及.Net框架,以更好地理解其排他性,功能及其优势。

尽管计算机编程语言主要是独立产品,但它们还是依赖于平台或框架来运行。 C#或C Sharp是不仅C或C ++的混合语言,而且受设计启发
和Java ,Modula 3,Eiffel等的功能,并在.Net框架上运行。

本文重点介绍基本原理
编程语言以及该语言所依赖的平台的要点。 所以,让我们开始吧!

什么是C#?

C#是一种通用的面向对象的编程语言,由Microsoft开发,旨在与Sun Microsystems的反射语言Java竞争。 它采用基于万维网联盟W3C支持的可扩展标记语言XML规范的Web服务。

XML使程序员,开发人员,设计人员等能够自定义自由来创建标签,传输,定义,验证以及数据解释应用程序和组织。

有许多C#功能,例如垃圾收集,类型声明,类型安全,版本控制和可伸缩性支持等,可以验证其设计以提高生产率,并使MS策略块方法的扩展扩展更容易地进行Web应用程序开发,这种扩展称为组件对象模型COM +。

这种结构化语言还被欧洲计算机制造商协会 (ECMA)和国际标准组织(ISO)等国际标准机构认可,该标准导致各种公司开发C#变体。

有许多高科技组织,例如Apex Software,devSoft,FarPoint Technologies,Bunka Orient,Component Source,LEAD Technologies等,这些组织
C#支持框架作为基础。

C#如何工作?

C#通过结合C ++的计算能力和编程易用性来工作 和Visual Basic,以促进服务和信息在Web上的平稳交换。 MS旨在通过XML和简单对象访问协议(SOAP)的集成来简化编程,以允许开发人员创建高度可扩展的可移植应用程序。

XML和SOAP规范为程序员提供了对象和/或方法编程的可访问性,而无需在程序的每个步骤上添加其他代码。 这使得C#编程Swift而又便宜,因为在现有代码上构建而不是重复重复整个过程将使昂贵的MO推出新产品和服务。

C#的一般功能

由于总体灵感以及面向对象和面向组件的倾向,C#的基本构造类似于
各种高级语言。

但是,广泛的C#功能的一般且杰出的分类使该语言与其他编程语言在各种功能方面脱颖而出,这些功能可转换为高度竞争的程序和软件应用程序。

一些常规的C#编程功能包括:

  • 简单
  • 现代编程语言
  • 面向对象
  • 输入安全
  • 互通性
  • 可扩展和可更新
  • 面向组件
  • 结构化编程语言
  • 庞大的图书馆
  • 速度

这些只是多范式的一些常规功能
像C#这样的编程语言包含了许多编程学科。 每个组件都具有自己的一组功能,以便能够使C#实现支持软件工程原理。

这种兼容性促进了可在任何分布式环境中部署的软件组件的开发。 所有精细工程的过程都需要特殊的功能,以帮助程序员进行开发。

常用的C#功能的杰出类别包括:

  • 布尔条件
  • 自动垃圾收集
  • 元编程
  • 代表和活动管理
  • 可能性
  • 索引器
  • 条件编译
  • LINQ和Lambda表达式

C#的排他性

自2002年开始使用.Net framework 0.1进行C#编程以来,该语言一直在与.NET更新配合进行修订,现已成为创建Windows程序和Web应用程序的最受欢迎的编程语言之一。 尽管C#在某种程度上是C和C ++的派生,并且自然具有相似的运算符,面向对象的大小写敏感度,相同的语法等,但是仍有一些主要区别将这种多范式语言与所有应用语言区分开。

以下是C#和C ++之间的一些明显区别:

  • 例如,C或C ++的指针在C#编程中用作具有方法和属性的对象。
  • C#无法将数据类型(例如布尔值或布尔值)识别为
    整数,就像其他语言一样。
  • C#中的许多关键字(例如typedef,default,extern,delegate,static等)的表示形式,函数和调用在C#中与在任何启发式编程语言中完全不同。
  • C#不支持C或C ++编程中switch语句的大小写转换。
  • C ++对全局变量和方法的支持未扩展
    C#编程。

由于C#是为特定的Microsoft .Net框架设计的,因此开发人员不仅可以访问C#本身的功能,还可以访问.Net应用程序编程接口(API)的所有功能。

尽管这提供了巨大的好处,但.Net框架的可靠性也使C#应用程序只能在支持.Net运行时的平台(例如Windows,Windows服务器和电话等)上运行,除非C#程序的代码首先通过某些方式进行编译。转换
类似Microsoft .Net本机的工具。

什么是.Net框架?

.Net框架-发音且通常写为点网– Microsoft
开发的软件框架主要在Microsoft应用程序上运行。 .Net是MS总体开发策略的主要组成部分,也是MS在开发环境中的Java辅助。

它巨大的标准类库称为框架类库(FCL),可实现
各种编程语言之间的广泛语言互操作性,其中所有语言均与其他语言编写的代码兼容,但仍被称为托管代码。

因为.Net框架在称为应用程序虚拟机的专用软件环境中执行,该虚拟机称为公共语言运行时(CLR)–公共语言基础结构(CLI)的MS实现–与FCL一起支撑整个平台。

CLR促进安全性,异常处理,线程执行和内存管理服务,而FCL促进开发
通过提供数据库连接性,数据可访问性和用户界面来实现网络通信,Web应用程序和数字算法的集成。

MS还为Windows应用程序创建了一个称为Visual Studio的集成开发环境,该开发环境通过将.Net框架支持的代码与各种库对齐来开发。

.NET Framework的主要设计功能

.Net框架设计的主要目标是通过将模块化方法集成到软件结构中来提高生产率并最小化编程错误的余地。

此MS软件开发框架通过受控的编程环境提供Windows专有操作系统(OS)软件的平稳开发,安装和执行,该受控编程环境由以下功能精心安排:

互操作性:

它促进了.Net中开发的程序对
在.Net框架之外开发的程序的功能。

公共语言运行时:

CLR或有时也被视为通用的运行时引擎,它简化了.Net框架支持的程序的线程执行,内存使用,安全管理和异常处理之间的通用行为。

语言独立性:

这种独立性源自通用语言基础结构的通用规范,从而使得可以在同时使用各种语言开发的程序之间实现数据类型的可交换性。

基类库:

从根本上说,它是一个由几个加密功能组成的代码库,从通用到出色的可用性,可防止代码重复或出于相同目的而重写。 它可以提高程序员的生产率,并减少错误。

易于部署:

.Net框架具有许多内置工具,可确保轻松部署程序-安装到执行-不会破坏以前安装的应用程序创建的环境。

安全:

.Net安全性以其基于透明控件安全性模型的引人注目的解决方案而闻名。 .Net开发的软件应用程序通过特定的模型放置在所有情况下,用于代码行为监控,目的是减轻包括客户端,Web和服务器端在内的应用程序的风险。

.NET Framework的工作方式

.Net框架是一个集中的开发人员平台,由多个工具,库, 编程语言和用于开发各种应用程序的功能组成。 它通过以中间语言(IL)编译一种语言的源代码来工作,该语言通常放在磁盘存储中的可执行程序集文件中。

自.Net以来,MS开发了编程基础结构来开发,部署和运行基于.Net技术的多种服务和应用程序,例如桌面和Web应用程序,程序集文件包含有关安全性和所使用代码类型的信息说明。 汇编文件由CLR上载并验证后,IL编译的代码将解释为以本机代码编写的指令。

.Net框架利用了三个主要的过程片段,包括:

  • 公共语言运行时
  • 框架类库
  • 网络

.Net框架的实现

.NET Framework导致了一个由多个.NET平台组成的庞大家族,例如Net,.Net框架和.Net核心-除了整个MS .Net技术的主要实现之外,该技术专门设计用于容纳目标代码,而不考虑存储和执行-分别专注于:

  • 移动计算
  • 嵌入式设备
  • 替代操作系统
  • Web浏览器插件

.Net框架由各种实现组成,这些实现允许在此MS环境中开发的代码在许多不同的平台上执行,例如Linux,macOS,Windows,iOS,Android等。以下是一些最常用的.Net实现,包括:

.Net框架是整个.Net系列的主要实现,用于支持网站功能,Web和桌面应用程序开发,各种IT服务的交付以及Windows操作系统上的更多功能。

.NET Core是一个开源的跨平台实现,不仅在Windows上,而且在Linux和macOS上,还支持网站功能,IT服务以及控制台应用程序的开发。

Xamarin / Mono是.Net框架的移动实施开发人员平台,支持应用程序开发,运行和
几乎所有主要移动操作系统上的功能,包括iOS,Android,tvOS,watchOS,macOS等。

.NET Standard本身不是实现,而是更多的API
为实现以下目的,所有.Net实现中都包含的规范
促进相同代码和库的可用性,以使其顺利运行
许多不同的实现。

还有一个称为.Net compact的.Net框架的简化版本。
该框架可用于各种Windows CE平台以及Windows移动设备,例如智能手机。 .Net框架的这种微变体被开发为基本上包含资源极其受限地嵌入的设备。 一些压缩的.Net
实现包括:

  • Silverlight –本质上是网络浏览器插件
  • Mono-与各种网络操作系统和智能手机操作系统(例如android, iOS等)兼容,并且可以自定义到游戏引擎中。
  • .NET Core-专注于云计算,跨平台适用性和通用Windows平台(UWP)可访问性。

C#和.Net编程的优势

  • C#是面向对象的语言,允许模块化应用程序开发和代码可重用性。
  • CLR集成使C#程序可以与其他语言的代码组件平滑地融合。
  • .Net框架支持使C#编程在所有.Net技术中都可以解释。
  • 由于采用了正式的全集方法,因此C#编码的清晰度大大提高,并且无需担心头文件。
  • C#是Microsoft堆栈和丰富的库的众多选择,它为几乎所有功能和实现提供了工具,使程序员可以自由地尝试新的编写和代码编译。
  • .Net框架为C#编程提供了内部MS支持,这与其他语言完全不同,在其他语言中,程序员仅依赖社区提供支持。
  • 向后兼容性源于Microsoft不断抛弃旧的Window平台,而这需要升级.Net框架。 不断改进配置的外部需求可以使用户重新努力工作。

翻译自: https://hackernoon.com/learning-fundamentals-of-c-and-net-framework-c76i3ygv

C#和.Net Framework的学习基础相关推荐

  1. Golang学习-基础命令

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. . Golang学习-基础命令 一.go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为 ...

  2. 资源 | Intel发布AI免费系列课程3部曲:机器学习基础、深度学习基础以及TensorFlow基础

    翻译 | AI科技大本营(公众号ID:rgznai100) 校对 | 成龙 编辑 | 明明 Intel于近期发布了三门AI系列的免费课程,分别是关于机器学习基础.深度学习基础.TensorFlow基础 ...

  3. 深度估计相关原理(计算机视觉和深度学习基础)

    今天来和大家介绍一下深度估计涉及到的理论知识点,包括计算机视觉基础和深度学习基础. 一.计算机视觉基础 1.1. 针孔相机模型 相机模型,是指采用一个几何模型来描述三维世界中的坐标点映射到二维图像平面 ...

  4. 清华成果发布 | 广度学习基础计算系统集成平台

    来源:清华成果与知识产权 成果简介 随着国民经济的快速发展,机动车辆增长迅速.路面交通任务日益繁忙,国内交通安全形势面临日益严峻的考验.虽然基础应用系统已经达到了较高的技术和应用水平,但也存在着一些问 ...

  5. 深度学习基础(基本概念、优化算法、初始化、正则化等)

    2020-04-25 16:29:09 引言 深度学习目前已成为发展最快.最令人兴奋的机器学习领域之一,许多卓有建树的论文已经发表,而且已有很多高质量的开源深度学习框架可供使用.然而,论文通常非常简明 ...

  6. 【完结】有三AI阿里云的深度学习基础课程暂时完结,欢迎扩散学习

    2021年3月份有三AI与阿里天池联合推出了深度学习系列课程, 课程内容包括人工智能与深度学习发展背景,深度学习典型应用,卷积神经网络,循环神经网络,生成对抗网络,深度学习开源框架等内容,目前已经基本 ...

  7. [深度学习基础] 深度学习基础及数学原理

    图像分类 (image classification) 问题是指, 假设给定一系列离散的类别(categories)(如猫, 狗, 飞机, 货车, ...), 对于给定的图像, 从这些类别中赋予一个作 ...

  8. 语言的学习基础,100个经典的算法

    POJ上做做ACM的题 语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生 ...

  9. C++学习基础八——重载输入和输出操作符

    C++学习基础八--重载输入和输出操作符 一.重载输入操作符的要点: 1.返回值为istream &. 2.第一个参数为istream &in. 3.第二个参数为自定义类型的引用对象( ...

最新文章

  1. vs2010中添加项目中找不到EntityFramework实体框架解决办法
  2. 什么是指针?什么是数组?指针和数组的关系?
  3. java jackson json_使用Java和Jackson将Json序列化为通用结构而无...
  4. MyBatis-06 MyBatis XML方式之多个接口参数用法
  5. 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...
  6. Google新作:注意力机制是否真的能够提供模型的可解释性?
  7. python下载matplotlib.finance模块_关于Matplotlib中No module named 'matplotlib.finance'的解决办法...
  8. 小汤学编程之jQuery学习day01——简介、入门、选择器
  9. 用户登录功能:说简单也困难
  10. vue ---- 将项目打包发布
  11. STM32F4 + HAL库 + W25Q256的验证
  12. android 阻尼回弹,Android ListView实现阻尼回弹效果 并去除边缘阴影
  13. (Tekla Structures二次开发)将报表模板数据写入文本文件
  14. EBS中二次开发FSG报表2(SQL)
  15. 图文并解Word插入修改删除批注
  16. 数据库+jdbc实现学生教师管理
  17. Python 机器学习大作业 用knn算法对adult数据集进行50w年薪收入预测
  18. 2021计算机保研面试题目(纯干货)
  19. Unity3D摄像机裁剪——NGUI篇
  20. php小程序 100行左右,微信小程序 左右分类滚动列表

热门文章

  1. 工作日志22-01-05
  2. 什么是云服务器主机?
  3. matlab 圆形轨迹,求助:轨迹线上画圆怎么画呢?
  4. 01---两列波在相遇处发生干涉的条件
  5. 【空间分析之二】点数据集加权平均中心统计(weighed Mean Center)
  6. 【数学】三角函数性质及公式
  7. 第四次作业_03四则运算
  8. Macbook特色功能,你知道几个
  9. Pyramid With Super Resolution for In-The-Wild Facial Expression Recognition
  10. positional argument follows keyword argument的产生原因和解决办法