C#基础整理

元旦整理书架发现一本小册子——《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就可以了。

 

未完

时间: 2024-10-15 06:58:26

C#基础整理的相关文章

HTML基础整理(一)

HTLM基础整理--思维导图(标签部分) 其他: <sub>下标</sub>     <sup>上标</sup> 优先级,越往后优先级越高. "right"(右对齐)               "top" (顶部) 对齐方式<tr align="center"(居中) valign="middle"(居中) "left"(左对齐)          

linux基础整理0316

一.linux基础整理 由于这是学习linux的第一周,整理的东西很杂很分散,其中包括了查看虚拟机的各种信息,命令相关的只整理了alias.date.history.cal.帮助会话screen等命令的使用,最后加上了两个常见问题处理办法:在以后的学习中会不断完善文中整理的相关内容. 1.查看系统信息类命令: 查看内核版本 [root@CentOS7 ~]#uname -r 3.10.0-957.el7.x86_64 查看系统版本 查看配置文件 [root@CentOS7 ~]#cat /etc

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

本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 (一)线性判别函数与广义线性判别函数 一.线性判别函数 这篇总结继续关注分类问题.假设判别函数(Discriminant function)的参数形式已知,用训练的方法直接根据样本估计判别函数的参数.线性判别函数的形式为: $$g(\textbf x)=\textbf w^{\top}\textbf x+w_0$$ $\textbf x\in \mathbb R^d$ 是

python基础整理----基本概念和知识

整理一下python的基本概念和知识, 主要用python3为语法标准. python介绍 一种面向对象的解释性计算机设计语言,具有丰富和强大的库. python定位:"优雅"."明确"."简单" 多种应用场景:可以写工具,后台服务,移动端等等. 运行环境搭建 下载对应版本的Python安装,官网地址如下 https://www.python.org/ 运行get-pip.py安装pip (Py3自带pip) https://bootstrap.

linux基础整理4

IP地址配置 1.setup工具 vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes service network restart 2.修改虚拟机连接方式为桥接 3.编辑-虚拟网络编辑器-vmnet0--桥接到有线网卡 4.UUID错误(针对复制镜像生效) vi/etc/sysconfig/network-scripts/ifcfg-eth0         删除MAC地址行 rm –rf/etc/udev/rules.d/70-pe

MySQL技术分类一:DB应用开发基础整理

MySQL技术分类整理一:DB应用开发基础1.库1).创建库syntax:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name    [create_specification] ... create_specification:    [DEFAULT] CHARACTER SET [=] charset_name  | [DEFAULT] COLLATE [=] collation_name 注:如果不使用if not exists,则当数据库

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

JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应的空间 int [] a = new int[100]; 这里开辟了一个空间为100大小的数组,内存分配也完成了. 我们可以在声明的同时也确定元素个数 int [] a = new int[]{1,3,5,7,9}; 面向对象(重点) class Human{ int height; void br

HTML5游戏开发技术基础整理

随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施方案.本文系根据[HML5 Canvas游戏开发实战]一书中的内容整理而成,是了解和学习HTML5游戏开发的基础内容,希望能够帮助到那些和博主一样致力于游戏开发的朋友们! JavaScript中的面向对象编程 对于游戏开发来说,面向对象编程(OOP)是一种重要而且必要的方法,所以在了解HTML5游戏

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

本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensionality) 维数灾难就是说当样本的维数增加时,若要保持与低维情形下相同的样本密度,所需要的样本数指数型增长.从下面的图可以直观体会一下.当维度很大样本数量少时,无法通过它们学习到有价值的知识:所以需要降维,一方面在损失的信息量可以接受的情况下获得数据的低维表示,增加样本的密度:另一方面也可以达到去噪