热门标签 | 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




推荐阅读
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 YN2014.04
    雨林木风 GHOST XP SP3 经典珍藏版 YN2014.04 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 使用jQuery与百度地图API实现地址转经纬度功能
    本文详细介绍了如何利用jQuery和百度地图API将地址转换为经纬度,包括申请API密钥、页面构建及核心代码实现。 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 利用Docker部署JupyterHub以支持Python协同开发
    本文介绍了如何通过Docker容器化技术安装和配置JupyterHub,以实现多用户的Python开发环境,特别适合团队协作场景。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 面对众多的数据分析工具,如何选择最适合自己的那一个?对于初学者而言,了解并掌握几种核心工具是快速入门的关键。本文将从数据处理的不同阶段出发,推荐三种广泛使用的数据分析工具。 ... [详细]
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社区 版权所有