元旦整理书架发现一本小册子——《C#精髓》中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节并删减部分过时和不重要内容添加一些自己觉得重要的内容,具体目录如下:


第一章   简介

什么是.NET、CLI、CLR、CIL、IL、BCL?

什么是JIT和GC,JIT和GC是如何工作的?

第二章 C#语言参考

标识符、类型、变量、表达式与运算符、语句、类型组织、继承、访问修饰符、类和结构、接口、数组、枚举、委托、事件、异常、特性(Attribute)、不安全代码和指针(unsafe code)、预处理指令、XML文档

第三章 .NET 框架编程

公用类型、数学(System.Math)、字符串(String 和 StringBuilder)、集合(非泛型与泛型)、正则表达式、输入输出、网络(System.Net)、线程(System.Threading)、反射、GC、平台互操作

第四章 BCL 综述

核心类型、文本、集合、流(System.Stream)、网络、线程、安全、反射、序列化、WebService、诊断和调试

第五章 一些.NET 工具

csc.exe、ILDasm.exe、.NET Reflector、wsdl.exe(WebService 代理类生成工具)、


第一章  简介

Q: 什么是.NET

A: .NET即.NET Framework 是支持生成和运行下一代引用程序和XML Web Services 的内部 Windows 组件。(这是微软MSDN给的定义,是不是看得很绕,对我们程序员而言.NET 是微软开发的一个支持 CS、BS等的软件开发平台)。

在帖一张MSDN上解释.NET Framework 的图

那么用 .NET 能干嘛?主要有以下几个方面的应用:

1、控制台程序

2、Windows GUI 应用程序(俗称的 Windows Forms)

3、Windows Presentation Foundation应用程序(俗称的WPF)

4、ASP.NET 应用程序

5、Web 服务(也就是 ASP.NET Web  Service)

6、Windows 服务

7、Windows Communication Foundation 服务(俗称 WCF)

8、Windows Workflow Foundation (即WF,俗称工作流)

Q: 什么是 CLI、CLR、CIL、IL、BCL? 这几个问题放在一起回答

A:

我们知道.NET 是跨平台的和开源的(感谢微软选择开源),那.NET 是如何跨平台的呢?先看一幅图

看明白这幅图,上面的问题也应该有答案了。

CLI(Common Language Infrastructure)公共语言架构,CLI包含CTS(公共类型系统)和公共语言规范(CLS)和CIL(公共中间语言),各个支持.NET平台的操作系统都要实现CLI。

CLR(Common Language Runtime)公共语言运行时,它将CIL(或称IL)编译为本机代码(这个过程称为JIT)

CIL(Common Intermediate Language)公共中间语言(有时也简称IL)是各个.NET兼容语言(如C#、VB.NET、F#等)第一次编译的产物

BCL(Base Class Library)基础类库,可用于所有.NET兼容语言的基础库。对于C#而言它几乎灭有任何内置库,C#使用BCL就可以了。

未完

C#基础整理的更多相关文章

  1. 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法

    这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...

  2. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  3. nutch的一些基础整理

    nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...

  4. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  5. JAVA基础整理-集合篇(一)

    集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...

  6. 关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)

    JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应 ...

  7. HTML5游戏开发技术基础整理

    随着HTML5标准终于敲定.HTML5将有望成为游戏开发领域的的热门平台. HTML5游戏能够执行于包含iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是眼下跨平台应用开发的最佳实 ...

  8. js数组基础整理

    首页: 主要整理了一下数组中常用的一些基础知识,代码都是自己手敲,有不对的地方希望能指出,目前只有4篇,后续会不断的增加这一板块. 由于少于100字不能发所以把一些最基本的创建数组也写上. // 创建 ...

  9. 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

随机推荐

  1. Visual Studio的.NET内存分配分析器解析

    Visual Studio 2012拥有丰富的有价值的功能,以至于我听到开发者反馈的需要的新功能新版本已经有了.另外,我听到开发人员询问具体的功能的某个特性,实际上他真正需要的是另外一个功能点. 上面 ...

  2. 数据中心基础设施自动化运维之puppet专项

    http://forge.puppetlabs.com/treydock/yum_cron  [puppet功能扩展forge] http://docs.puppetlabs.com/referenc ...

  3. JAVA之装饰者模式

    装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任.换言之,客户 ...

  4. Java空字符串与null的区别和判断字符串是否为空的方法

    Java空字符串与null的区别: 1.类型null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也 ...

  5. Android模拟器如何加载本机地址及访问本机服务器

    首先获取本机ip地址: 在cmd 命令窗口中输入 ipconfig 查看本地电脑ip地址如下: 获取服务器上的Json数据,并返回结果,部分代码如下: 注:StreamUtils是自定义的一个工具类, ...

  6. C# .Net基础知识点解答

    原文地址 1. 什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式? 通俗的讲,.Net是微软开发应用程序的一个平台: CLI是C ...

  7. JSLink to render the list to show people detail info with picture

    I  create a custom list, and create a poeple column to store poeple detail info with picture in this ...

  8. 在chrome下安装Proxy SwitchySharp插件

    https://chrome.google.com/webstore/detail/dpplabbmogkhghncfbfdeeokoefdjegm

  9. java窗体与Flash交互

    最近在研究flash,用flash去读取文件很简单,但是存储文件就很麻烦了. 因此想到用java的窗体进行交互. 下面是DJNativeSwing-SWT-1-0-3-20140708的下载链接: h ...

  10. 字符的截取方法使用的是Substring 和三目运算符

    substring(0,m.title.length>11?11:m.title.length)