C#语言概述
C#语言概述
一、.NET Framework
.NET Framework是Windows的一个不可或缺的组件,它包括公共语言运行库(CLR)和类库两部分。
CLR是Microsoft的公共语言基础结构(CLI)的商业实现。CLI是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础。
.NET Framework的类库包含4000多个类,分别是基本框架类、ADO.NET和XML类、Web Forms、Web Services和WinForms等,Web Forms和Web Services又共称为ASP.NET。这些类被组织为命名空间,为从文件输入和输出(I/O)、数据库支持、字符串操作、XML解析、线程到Windows窗体控件等的所有内容提供了各种有用的功能。
.NET Framework的体系结构
有了CLR,保证了.NET中的一种语言具有的功能其它语言也都具有。
.NET程序只能运行在.NET Framework之上。.NET Framework是为了应用于多种操作系统上,比如:Windows、Linux或Unix等,但是,现阶段.NET Framework只能用于Windows平台。
二、C#
1960年前后,一种名为Algol 60的程序设计语言诞生了,大约在1970年,B语言被改写成C语言,大约在1980年,Stroustrup创建了C++,Microsoft在2002年宣告了C#语言的诞生。
C#读作C Sharp(发音为“C 夏普”)。
回顾C#发展的历史,C# 1.0完全是模仿Java,并保留了C/C++的一些特性;C# 2.0加入了泛型,也与Java 1.5的泛型如出一辙;C# 3.0加入了一堆语法;C# 4.0增加了动态语言的特性。
简而言之,C#是一种简洁的、类型安全的面向对象的语言,开发人员可以使用它来构建在.NET Framework上运行的各种安全、可靠的应用程序。
?C#支持封装、继承和多态性的概念。所有的变量和方法,包括Main方法(应用程序的入口点),都封装在类定义中。
?C#源文件可以定义任意数量的类、结构、接口或事件。
?C#程序在.NET Framework上运行。
三、C#语言的编译和运行环境
用C#编写的源代码被编译为一种符合CLI规范的中间语言(IL)。IL代码与资源(例如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为.exe(应用程序)或.dll(库)。程序集包含清单,它提供有关程序集的类型、版本、区域性和安全要求等信息。
执行C#程序时,程序集将加载到CLR中,它可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,CLR就会执行实时(JIT)编译以将IL代码转换为本机机器指令。CLR还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由CLR执行的代码有时会称为“托管代码”。
C#源代码的编译和运行环境
因为由C#编译器生成的IL代码符合公共类型规范(CTS),因此从C#生成的IL代码可以与从Visual Basic、Visual C++、Visual J#的.NET版本或者其他20多种符合CTS的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同.NET语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。
注:C#只有在.NET平台上才能使用。
四、C#的开发环境
?使用微软集成开发工具Microsoft Visual Studio。
?使用文本编辑器(如:Notepad)编写代码,然后再使用.NET Framework中的编译器进行编译、运行。
?使用第三方提供的工具。
C#语言概述的更多相关文章
- 1-学习前言&C语言概述
[C语言]01-学习前言&C语言概述 参考自 http://www.cnblogs.com/mjios/archive/2013/03/12/2956508.html#label2 C语言是我 ...
- OpenGL官方教程——着色器语言概述
OpenGL官方教程——着色器语言概述 OpenGL官方教程——着色器语言概述 可编程图形硬件管线(流水线) 可编程顶点处理器 可编程几何处理器 可编程片元处理器 语言 可编程图形硬件管线(流水线) ...
- Delphi XE5教程1:语言概述
内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误! 也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者 ...
- java基础---java语言概述
一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...
- Python语言——Python语言概述
Python语言概述 计算机语言概述 语言:交流工具,沟通媒介 计算机语言:人和计算机交流的工具,翻译官 Python语言简述 Python是计算机语言的一种 Python编程语言: 代码:人类语言, ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- [编程笔记]第一章 C语言概述
//C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- 大数据技术之_16_Scala学习_01_Scala 语言概述
第一章 Scala 语言概述1.1 why is Scala 语言?1.2 Scala 语言诞生小故事1.3 Scala 和 Java 以及 jvm 的关系分析图1.4 Scala 语言的特点1.5 ...
随机推荐
- JVM架构_XmnXmsXmxXss有什么区别:转
1.XmnXmsXmxXss有什么区别 首先,Xmn.Xms.Xmx.Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果. 了解jvm内存管理看这里:jvm ...
- inventor安装错误
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- LeetCode 455.分发饼干(C++)
假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有一个尺寸 ...
- php 入门
<?php $username = $_POST["username"]; $passcode = $_POST["passcode"]; # 一定要my ...
- Ubuntu上的相关问题
一.解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题 在Ubuntu中,进入vi命令的编辑模式,发现按方向键不能移动光标,而是会输出ABCD,以及退格键也不能正常删除字符.这是由 ...
- 一个ActionResult中定位到两个视图—<团委项目>
在使用MVC做项目的时候一般的情况就是一个ActionResult一个视图,这样对应的Return View();就可以找到下面对应的视图,这是根据一个原则,“约定大于配置”,但是我们有的时候需要在一 ...
- 修改model,映射到表中
1. 当使用EF code first创建数据表后,数据库中会自动创建一个名为:dbo.__MigrationHistory的系统数据表, 如果尚未启用数据库迁移功能,那么每次在应用程序运行时,都会对 ...
- Swift-数组
1.数组的定义 //OC 使用[]定义数组,Swift一样,但是没有@ //自动推导的结果[String]->表示数组中存的都是String //跟OC中的数组指定泛型类型 //Swift ...
- JS条件语句优化
1.对多个条件使用Array.includes eg: function test(fruit){ ...
- thinkphp 创建数据对象之data方法
创建数据对象:data()方法 1.功能:给模型对象$data赋值,将模型对象转化为数据对象 tip:模型对象与数据对象之间就差一个赋过值的$data; 2.方法:data()其源码如下: tip:源 ...