什么是C#?
C#是由微软公司开发的一种面向对象且运行于.Net Framework之上的高级程序设计语言,发布于2000年6月。

什么是.Net Framework
我们可以这样去理解.Net Framework:C#是一门编程语言,它用于实现计算机的对话,但C#编写的程序是需要编译和运行的,dotNet Framework就是应用程序运行时的执行环境,为应用程序的执行提供服务。

.Net Framework的组成
公共语言运行时(Common Language Runtime,CLR)和 .Net Framework类库(Framework Class Libary,FCL)。将受CLR管理的代码称为 拖管代码(managed code),将不受CLR管理的代码称为非拖管代码(unmanaged code),CLR包含两个组成部分:通用类型系统(Common Type System, CTS)和公共语言规范(Common Language Specification,CLS)。.Net Framework类库就是一组DLL程序集的集合,其中包含了大量的定义好的类型,这些类型公开了一些功能。

C#与.Net Framework的关系

操作系统--->.Net Framework(CLR--->BCL(.Net Framework基础类库)--->[Windows Forms ASP.NET WPF]--->[C# VB F#])

C#代码的执行过程
C#源代码文件--->C#编译器--->中间语言(IL)
中间语言(IL)--->即时编译器(Just-In-Time,JIT)--->本机代码

第1章 你真的了解C#吗?的更多相关文章

  1. 你真的会用Gson吗?Gson使用指南(2)

    注:此系列基于Gson 2.4. 上一篇文章 你真的会用Gson吗?Gson使用指南(1) 我们了解了Gson的基础用法,这次我们继续深入了解Gson的使用方法. 本次的主要内容: Gson的流式反序 ...

  2. DDD:订单管理 之 如何组织代码

    背景 系统开发最难的是职责的合理分配,或者叫:“如何合理的组织代码”,今天说一个关于这方面问题的示例,希望大家多批评. 示例背景 参考数据字典 需求 OrderCode必须唯一. Total = Su ...

  3. ConcurrentDictionary并发字典知多少?

    背景 在上一篇文章你真的了解字典吗?一文中我介绍了Hash Function和字典的工作的基本原理. 有网友在文章底部评论,说我的Remove和Add方法没有考虑线程安全问题. https://doc ...

  4. 20155336 2016-2017-2《JAVA程序设计》第五周学习总结

    20155336 2016-2017-2<JAVA程序设计>第五周学习总结 教材学习内容总结 第八章 语法与继承构架 使用try.catch 特点: 使用try.catch语法,JVM会尝 ...

  5. 20155207 2016-2017-2《Java程序设计》课程总结

    20155207 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总: 预备作业一:一路风景---我期待的是师生关系 预备作业二:学习情况的相关调查 预备作业三:安装虚拟 ...

  6. 20145331《Java程序设计》第5周学习总结

    20145331<Java程序设计>第5周学习总结 教材学习内容总结 第八章 概述 Java异常机制主要依赖于try.catch.finally.throw.throws五个关键字. 语法 ...

  7. 背包系统学习笔(tu)记(cao)

    这几天在学习背包系统,网上有看到一个挺牛逼的背包系统,不过人家那个功能很全面,一个背包系统就囊括了装备,锻造,购买等等功能(这里给出网址:https://blog.csdn.net/say__yes/ ...

  8. 一步一步带你入门MySQL中的索引和锁 (转)

    出处: 一步一步带你入门MySQL中的索引和锁 索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等.本文主要探讨 MySQL 的默认存储引擎 InnoDB 的索引结 ...

  9. Learning hard 学习笔记

    第一章 你真的了解C#吗 1.什么是C#, 微软公司,面向对象,运行于.NET Framework之上, 2.C#能编写哪些应用程序, Windows应用桌面程序,Web应用程序,Web服务, 3.什 ...

随机推荐

  1. 利用C++ RAII技术自动回收堆内存

    在C++的编程过程中,我们经常需要申请一块动态内存,然后当用完以后将其释放.通常而言,我们的代码是这样的: 1: void func() 2: { 3: //allocate a dynamic me ...

  2. Java学习----运算符与表达式

    一.运算符 1.算术运算符 +   -   *   /  %  ++  -- public class Test7 { public static void main(String[] args) { ...

  3. 自己总结python用xlrd\xlwt读写excel

    1.首先安装xlrd\xlwt模块 xlrd模块下载地址: https://pypi.python.org/pypi/xlrd xlwt模块下载地址: https://pypi.python.org/ ...

  4. js学习笔记之:时间(二)

    今天来了解一下js中定时器的两种用法.js中包括2种定时器,分别是:           间隔型定时器:setInterval(开)    clearInterval (关)            延 ...

  5. Node.js 安装 初体验(1)

    1.安装nodejs http://nodejs.org/download/  自动根据系统下载自己的版本node.js 2.环境变量 windows 安装,不需要配置环境变量   mac安装后,会提 ...

  6. cf C. Bits

    http://codeforces.com/contest/485/problem/C 利用位运算来解决这个题,从L开始,从每一位按位或,知道到达r位置,ans=ans|(1<<k);就可 ...

  7. redis-cli批量删除时的坑

    redis-cli keys "*"|xargs redis-cli del tips: keys后面的*号,必须要加双引号,不然删不掉 # redis-cli keys *|xa ...

  8. MyEclipse10 中增加svn插件

    http://www.cnblogs.com/bluesky4485/archive/2012/04/23/2467177.html 确实这种方法可行!向牛人学习!

  9. logstash 处理tomcat catalina.out

    input { file { type => "zj_api" path => ["/data01/applog_backup/zjzc_log/zj-api ...

  10. POJ1125 Stockbroker Grapevine(最短路)

    题目链接. 分析: 手感不错,1A. 直接穷举的起点, 求出不同起点到其它点最短路中最长的一条的最小值(好绕). #include <iostream> #include <cstd ...