• 微软.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

  • 相关阅读:
    OSCP Learning Notes Exploit(7)
    正则表达式中?=和?:和?!的理解
    提取日志中的ip
    ip地址的正则表达式
    linux内核tmpfs/shmem浅析
    记一个linux内核内存提权问题
    linux内存屏障浅析
    linux IPv4报文处理浅析
    linux会话浅析
    linux memory lock浅析
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1584293.html
Copyright © 2020-2023  润新知