c#基础语言编程-程序集和反射】的更多相关文章

程序集 什么是程序集? 1.程序集(assembly)是一个及一个以上托管模块,以及一些资源文件的逻辑组合. 2.程序集是组件复用,以及实施安全策略和版本策略的最小单位. 3.程序集是包含一个或者多个类型定义文件和资源文件的集合.在程序集包含的所有文件中,有一个文件用于保存清单.(清单是元数据部分中一组数据表的集合,其中包含了程序集中一部分文件的名称,描述了程序集的版本,语言文化,发布者,共有导出类型,以及组成该程序集的所有文件). 4.在编译应用程序中,所创建的CIL代码存储在一个程序集中,程…
一.泛型1.CLR编译时,编译器只为MyList<T>类型产生“泛型版”的IL代码——并不进行泛型的实例化,T在中间只充当占位符.例如:MyList 类型元数据中显示的<T> 2.执行的时候,当JIT编译器第一次遇到MyList<int>时,将用int替换“范型版”IL代码与元数据中的T—进行泛型类型的实例化.例如 :Main函数中显示的<int> 3.什么是泛型泛型是具有占位符(类型参数)的类.方法.结构.接口 4.泛型类的继承public class F…
在c语言中,每一个变量和函数有两个属性:数据类型和数据的存储类别. C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register) 1. 从变量的作用域划分变量(即从空间)角度来分 1.全局变量 2.局部变量 2. 从变量值存在的时间或存储类别(即生存期)角度来分 2.1. 静态存储区 存放下面数据: 代码段(text).仅仅读数据段(rodata).读写数据段(rwdata).未初始化数据段(bbs) 静态存储区存放所有的全局变量, 这些变量将在链接之后产生…
特性(Attribute)是用于为程序元素添加额外信息的一种机制.比如记录文件修改时间或代码作者.提示某方法已经过期.描述如何序列化数据等等.方法.变量.属性.类.接口.结构体以及程序集等都是程序元素. 1.使用特性 可以使用特性标注一个方法已经过时,已经有新方法了,但旧方法仍可以使用,当编译器发现某段代码调用了被ObsoleteAttribute 标识的程序元素时,就会产生一个警告或错误信息..NET 约定,所有特性的名称都以Attribute 结尾,但在使用时可以省略后缀Attribute.…
重点关注以下内容: C语言程序在内存中各个段的组成 C语言程序连接过程中的特性和常见错误 C语言程序的运行方式 一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段.编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件. C语言编写的程序经过编译-连接后,将形成一个统一文件,它由几个部分组成.在程序运行时又会产生其他几个部分,各个部分代表了不同的存储区域…
这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一回事,自己能够说出来又是另一回事了.应该把学到的东西变成自己的东西,而不是依样画瓢. 在说反射之前,我们先来了解一下什么是程序集? 程序集 程序集是.net中的概念,程序集可以看作是给一堆相关类打一个包,相当于java中的jar包. 程序集包含: 资源文件 类型元数据(描述在代码中定义的每一类型和成员,二进制形式) IL代码(这些都被封装在exe或dll中)…
引言 在不同语言中虽正则表达式一样,但应用函数还是有所区别,在c#语言中使用Regex. 可以通过以下两种方式之一使用正则表达式引擎: 通过调用 Regex 类的静态方法. 方法参数包含输入字符串和正则表达式模式. 正则表达式引擎会缓存静态方法调用中使用的正则表达式,这样一来,重复调用使用同一正则表达式的静态正则表达式方法将提供相对良好的性能. 通过实例化 Regex 对象,采用的方式是将一个正则表达式传递给类构造函数. 在此情况下,Regex 对象是不可变的(只读),它表示一个与单个正则表达式…
引言 在System.IO 命名空间下提供了一系列的类,我们可以通过相应的类进行文件.目录.数据流的操作. 1.File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 2.FileInfo类:提供创建.复制.删除.移动和打开文件的属性和实例方法.FileInfo类 3.FileStream类:主要用于读取磁盘上的文件或者向磁盘文件写入信息.有时,我们需要将程序中的一些数据存储到磁盘上或是读取配置文件中某些内容,在这里我们就会用该类. 4.MemoryStream类: 主要用于…
字符编码是计算机技术的基础理论,其字符编码有ASCII码.UTF-8.还有就是GB2312,当然这是在中国常用的. 1.ASCII码 在计算机内部所有的信息都是以二进制字符进行存储.用每个二进制位中的0和1,八个二进制就可以组合256种状态,成为一个字节.意味着一个字节可以用来表示256种状态. 在计算机开始普及阶段,美国制定一套字符编码,对英语字符与二进制位关系进行统一规定,成为ASCII码,一直沿用至今. ASCII码一共规定了128个字符编码,比如空格"SPACE"是32,大写的…
引言 在程序常会对文件操作,在对文件操作中需要对文件路径的进行定位,在.Net中针对寻找文件提供两个静态类以供调用,Path和Directory. Path类 来自命名空间SYstem.IO,Path类提供的方法是对党获取文件路径后处理方法,更应该算是对字符串操作. 例子代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespac…