微软.NET开发认证基础技术知识大局观——核心篇

核心内容包括:系统类型和接口,集合和泛型,配置和安装程序集,监视和调试应用程序,读取和写入文件,创建全球化应用程序,委托和事件

1.系统类型和接口

.NET Framework是强类型的开发框架,提供了通用类型系统(CTS),所有类型派生自System.Object类型。

值类型和引用类型,值类型保存在堆栈中,引用类型保存在托管堆中。

装箱和拆箱,值<---->引用

特殊系统类型, 泛型(避免装拆箱,类型安全且可重用),Nullable类型(值设置为null值),异常类(应用程序执行期间发生的错误),特性(attribute) 声明性标记,通过特性将编程元素的信息传递给运行时,从而改变代码执行行为。

异常处理。try可能产生异常的代码 catch扑获产生的异常 finally不管是否出现异常都会执行 throw

使用接口,类或结构遵循的约定,约定的具体实现由实现接口的类或结构来完成。 IDisposable,IComparable, IEquatable, IConvertible, IFormattable等.

2.集合和泛型

System.Collections非泛型版本,System.Collections.Generic泛型版本。

System.Collections.Specialized专用集合。

常见集合接口和类型:

IComparable接口用来比较两对象的大小主要用于排序

ICollection定义所有非泛型和泛型集合的大小,枚举数和同步访问方法。

IList提供对集合进行索引访问

IComparer提供两对象比较方法

IEqualityComparer检查两集合是否相等

IDictionary实现集合键/值对行为

IEnumerable和IEnumerator实现集合项迭代。

非泛型集合:ArrayList, Hashtable, SortedList, BitArray, Queue,Stack

泛型集合: List, Stack, Queue, dictionary和LinkedList 类型安全的集合对象,避免装拆箱操作。

String类,包括StringCollection和StringDictionary 。StringCollection可以看作元素是String的泛型List类,StringDictionary可以看作键和值都是string的泛型Dictionary类. StringEnumerator类提供对字符串集合的枚举操作,通过CollectionUtil类可以创建不区分字符大小写的Hashtable或SortedList对象实例。

Dictionary类,包括:ListDictionary,HybridDictionary和OrderedDictionary.

HybridDictionary内部提供一种机制,在元素较少时使用ListDictionary存储,在元素增加到某个数量时采用Hashtable进行存储,有效提高性能,OrderedDictionary存储通过键或索引进行排序的元素。

Named Collection类 通过键或索引访问的关联键值的集合,派生NameObjectCollectionBase类创建具有各自专用行为的键值集合。NameValueCollection从NameObjectCollectionBase继承,实现了将多个字符串值与单个字符串键相关联功能。

专用位结构,Boolean值和小整数的集合存储,BitVector32支持将Boolean值存储到32位结构中,而BitVector32.Section结构支持小整数的存储。

扩展集合基类,单个元素的集合基类和键值对字典类型的集合基类。通过继承CollectionBase抽象类和ReadOnlyCollectionBase可实现可读写版本的集合和只读集合。通过继承DictionaryBase抽象类可实现自定义的Dictionary类型。

3.配置和安装程序集

由于com组件的版本控制信息是存储在系统注册表中,因此新旧com组件间总会存在版本冲突的可能性,通过被称为dll冲突。

.NET程序集本身存储类型,资源,版本控制,安全权限和元素据的所有信息,不存在注册表设置依赖。完全解决了COM组件中存在的动态链接库版本冲突问题。

安装程序集。 .NET程序集的安装可以有多种方式,包括XCOPY, WINDOWS安装程序和自定义安装程序。 根据安装位置可以安装在本地或者全局程序集缓存中,如果需要安装到全局程序集缓存中需要对程序集进行强类型签名。

单文件程序集和多文件程序集。单文件程序集中包含一个文件,文件里面包含执行程序集所需的所有元素,程序集清单,MSIL代码,和数据类型等。 多文件程序集,

全局程序集缓存。由公共语言运行是CLR管理,提供系统范围的代码缓存,多应用程序共享的程序集通常安装在全局程序集中。

强名称程序集。为程序集提供唯一的标识,防止程序集间命名和版本的冲突,确保程序集的真实唯一性,全局程序集缓存中只可以安装强命名的程序集。

强名称由程序集文件名,版本号,区域性信息,公钥及数字签名,以确保程序集的真实性。sn.exe工具为程序集创建并分配强名称。

自定义安装程序集: System.Configuration.Install命名空间中提供的类型进行编程,Installer类创建自定义程序, AssemblyInstaller类安装程序集,CommponentInstaller类复制运行时安装的组件设置。 InstallerCollection InstallContext类管理程序集的安装,Installer类通过使用InstallEventHandler委托处理安装事件,BeforeInstall AfterInstall committing Committed BeforeRollBack AfterRollback BeforeUninstall afterUninstall事件.

配置程序集:Web.Config,ApplicationName.exe.Config,Machine.config当CLR加载程序集时,Machine.config提供应用程序的默认配置设置。

管理配置设置,System.Configuration管理配置文件,ConfigurationManager,Configuration和WebConfigurationManager核心类,接口包括IConfiguartionSectionHandler, ISettingsProviderService和IApplicationSettingsProvider 管理配置元素的类包括:ConfigurationElement.ConfiguartionElementCollection,ConfiguartionElementProterty

管理配置文件中的节的类包括ConfiguationSection,ConfiguationSectionCollection,ConfigurationSectionGroup,ConfigurationSectionGroupCollection

原文地址:https://www.cnblogs.com/chenqingwei/p/1584293.html