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。