热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#和.NetFramework的学习基础

我们一直在谈论主流编程语言,以至于我们大多数人都看到Python,Java,SQL等。还有许多其他动态框架和语言,例如我们今

我们一直在谈论主流编程语言,以至于我们大多数人都看到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




推荐阅读
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • 那么多优秀的自动化测试工具,而你只知道Selenium?
    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 1、DashAPI文档Dash是一个API文档浏览器,使用户可以使用离线功能即时搜索无数API。程序员使用Dash可访问iOS,MacOS, ... [详细]
  • 于2012年3月份开始接触OpenStack项目,刚开始之处主要是与同事合作共同部署公司内部的云平台,使得公司内部服务器能更好的得到资源利用。在部署的过程中遇到各种从未遇到过的问题 ... [详细]
  • rust编程这篇文章是关于我通过解决Twitch上尚未解决的所有CtCI问题来学习Rust的经验。英国科学博物馆集团AdaLovelace的肖像Rust徽标,由Moz ... [详细]
  • 评论分类数据集_评论分类
    评论分类数据集注释可以用来传达代码的作用,应该做什么,不应该做什么,为什么存在,何时以及如何以及不应该使用它等等。让我们对它 ... [详细]
author-avatar
清明如月_213
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有