C# ------ C# 和 .NET

C#  一个支持面向对象的编程语言,由微软开发,对就是windows 系统的微软,既然提到微软那你应该会了解到 .NET 框架。

   .Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、Jscript、COBOL 等等。所有这些语言可以访问框架,彼此之间也可以互相交互。

一个软件不是由一种语言构成的,特别是现在的系统大多数是 B/S 架构,但是编程语言的语法结构差不多相同,都有变量,循环,的概念

引入框架就是为了更快速开发,少写一些重复的代码。

(C#的出现是由 Anders Hejlsberg 和他的团队在 .Net 框架开发期间开发的,所以在 .NET 平台上使用最多的是 C# 语言

C# 的特点:
    现代的、通用的编程语言。
    面向对象。
    面向组件。
    容易学习。
    结构化语言。
    它产生高效率的程序。
    它可以在多种计算机平台上编译。
    .Net 框架的一部分

重要功能:
    布尔条件(Boolean Conditions)
    自动垃圾回收(Automatic Garbage Collection)
    标准库(Standard Library)
    组件版本(Assembly Versioning)
    属性(Properties)和事件(Events)
    委托(Delegates)和事件管理(Events Management)
    易于使用的泛型(Generics)
    索引器(Indexers)
    条件编译(Conditional Compilation)
    简单的多线程(Multithreading)
    LINQ 和 Lambda 表达式
    集成 Windows

注意:

   1、跨平台性:最早的 C# 语言仅能在 Windows 平台上开发并使用,C# 6.0 版本已经能在多个操作系统上使用,例如在 Mac、Linux 等。此外,还能将其应用到手机、PDA 等设备上

 2、适用性:C# 语言不仅能开发在控制台下运行的应用程序,也能开发 Windows 窗体应用程序、网站、手机应用等多种应用程序

 

 

 

 

.Net 框架(.Net Framework)

  目的是便于开发人员容易地建立 Web 应用程序和 Web 服务,使得 Internet 上的各应用程序之间可以使用 Web 服务进行沟通。

  特点:.NET 框架由一个巨大的代码库组成,是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境

 

 

可以用干哈:
    Windows 应用程序
    Web 应用程序
    Web 服务
 

.NET 框架的组件:

  公共语言运行库(Common Language Runtime - CLR)
  .NET 框架类库(.NET Framework Class Library)
  公共语言规范(Common Language Specification)
  通用类型系统(Common Type System)
  元数据(Metadata)和组件(Assemblies)
  Windows 窗体(Windows Forms)
  ASP.NET 和 ASP.NET AJAX
  ADO.NET
  Windows 工作流基础(Windows Workflow Foundation - WF)
  Windows 显示基础(Windows Presentation Foundation)
  Windows 通信基础(Windows Communication Foundation - WCF)
  LINQ



 

ASP.NET  与 ADO.NET:

ASP.NET是内含于.NET框架中,专门用来发展Web应用程序的一组类别库集。

ADO.NET是内含于.NET框架中,专门处理与数据源沟通的数据访问类别库集,被Windows Forms与ASP.NET应用程序大量使用,可说是.NET框架中唯一的数据访问接口。

 

CLR与CLI:

.NET的初级组成是公共语言基础(CLI)和 通用中间语言(CIL)。

  CLI是一套运作环境规范,包括一般系统、基础类库和与机器无关的中间代码,全称为Common Language Infrastructure。
  CLR则是确认操作密码符合CLI的平台。在通用中间语言(CIL)运行前,CLR必须将指令及时编译转换成原始机器代码。

 所有CLI都可经由.NET自我表述。CLR检查元数据以确保正确的方法被调用。元数据通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元数据。如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的数据相交互。CLR也被设计为操作系统无关性。

当一个汇编体被加载时,CLR运行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元数据和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会运行一些“不安全”的操作。核查所使用的算法非常保守,导致有时一些“安全”的代码也通不过核查。不安全的代码只有在汇编体拥有“跳过核查”许可的情况下才会被运行,通常这意味着代码是安装在本地上的。

 

 

注意: 微软的.NET框架是.NET技术的旗舰级实现版本,在此之外还有一些其他实现版本。

1、 .NET Core 是微软开发的跨平台 (Windows、Mac OSX、Linux) 的应用程序开发框架(Application Framework)   

2、Mono是一个开源的.NET运行时和开发库实现版本。Mono现正由xamarin公司和开源软件发展社区负责开发。它正迅速发展成熟,现已经包含了对ASP.NET和ADO.NET的支持,对Windows Forms库的支持也较充分。它提供了一个C#编译器,而一个VB.NET编译器现在也已经处于pre-beta阶段。Mono 可运行在多种操作系统上,包括 Android、BSD、iOS、Linux、OS X、Windows、Solaris 和 UNIX。

Mono项目还包含了一些新的库和技术的开发:
  Gtk:一个GTK+GUI工具包的.NET封装。   xSP:一个用C#编写的支持运行ASP.NET应用程序的网页服务器软件。   MonoDevelop:SharpDevelop的一个移植版本,是一个符合GPL标准的面向Gtk#和Mono的.NET集成开发环境。   Novell.Directory.Ldap类库:Lightweight Directory Access Protocol(LDAP)for .NET的一个免费的实现版本。   SerialPortNet:Aserial portlibrary for .Net & Mono implementing .NET 2.0 specifications.   Mono for Android和MonoTouch for iOS:Mono在移动平台Android和iOS上的移植,使开发者可以在Android和iOS平台上使用C#和Mono框架开发应用。Xamarin Forms是这些实现的核心,可以根据系统不同生成符合该系统风格的界面。   MonoMac:Mono对于一些OS X原生Step API的封装。

3、微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI;即今ECMA—通用语言架构),是微软的.NET框架(共通语言运行平台)的一个源码共享的实现架构,可运行于Windows XP,FreeBSD,和Mac OS X10.2。

4、Portable.NET不及Mono成熟,这得归因于Portable.NET并不是在最初的时候就使用了微软的开发框架。提供了一个可以从C编译到通用中间语言的编译器。

      

 

常用开发软件:

   显得牛哄哄的叫: 集成开发环境(Integrated Development Environment - IDE)  

常用的: Visual Studio (VS)   有各个版本:  现在最新的应该是  Visual Studio 2019

注意这几个:

 

 

 了解了解 Visual Studio 与Visual Studio Code :

  Visual Studio:是一个集成的开发环境,相对来说比较完整,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。

  Visual Studio Code:是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。

 

posted on 2020-04-21 23:37  obge  阅读(467)  评论(0编辑  收藏  举报