1、单例模式:又叫单件模式,属于创建型模式分类。实际上讲,一个对象只允许创建一个实例,并且提供了一个全局的访问点。  (静态方法生命周期长,消亡时间短,GC不回收) ========================================================================================================== 2、ref与out的不同点体现在使用的机制上。    ref要求传递之前的参数必须首先显式初始化,而out不需要。    也就是说,使用ref的参数必须是一个实际的对象,而不能指向null;而使用out的参数可以接受指向null的对象,然后在调用方法内部必须完成对象的实体化。 ================================================================================================================= 3、泛型集合 要导入命名空间 System.Collections.Generic命名空间 定义List<T>泛型集合的语法:  List<T> list = new List<T>();

T表明集合中管理的元素类型 泛型集合必须实例化

泛型集合List<T>与ArrayList 对比: 异同点           List<T>                      ArrayList               对所保存元素做类型约束          可以增加任何类型 不同点        添加/读取无须拆箱、装箱          添加/读取需要拆箱、装箱

相同点      通过索引访问集合中的元素             添加元素方法相同             删除元素方法相同 ---------------------------------------------- C#中泛型集合Dictionary<K,V> 存储数据的方式和哈希表类似 编译时检查类型约束,获取元素时无须进行类型转换 通过Key/Value(键/值对)来保存元素的

定义Dictionary<K,V>泛型集合的语法: Dictionary< K,V> dic = new Dictionary< K,V>(); <K,V>中的K表示集合中Key(键)的类型 V表示Value(值)的类型 泛型集合Dictionary<K,V>与Hashtable 对比: 异同点          Dictionary<K,V>                      Hashtable

对所保存元素做类型约束          可以增加任何类型 不同点        添加/读取无须拆箱、装箱          添加/读取需要拆箱、装箱

相同点      通过索引访问集合中的元素             添加元素方法相同             删除元素方法相同

================================================================================================================= 设计模式:将某类事做成一种统一规范,按照规范进行操作。 观察者模式:行为模式 两种角色 观察者      被观察者  N            1 观察者监视被观察者,当被观察者发生某些行为,观察者将触发自己行为。 两种模式:  推               拉 ------------------------------------------------------------- 创建型设计模式:单例模式

选择使用接口和委托的区别及效率: 使用接口实现观察者模式 观察者必须实现统一的接口 通知者能够获取观察者对象集合 须实现接口以降低耦合,通知者须知道实现接口的对象。

使用委托实现的观察者模式 无需通过集合的方式来进行对象的添加 通过+=的方式来实现事件的订阅 按照订阅的顺序进行依次进行广播操作

===================================================================================================================== 简单工厂:是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例

抽象工厂:

================================================================================================================== 多态:同一物体在不同情况下表现的多种形态 在程序里,一个类被其他类继承并且重写他的行为这就是多态的体现。 多态是一种形态,只要具备这种行为就叫多态;而里氏替换原则是发生父NEW的情况下,符合这种规则。

IS 是判断   AS 是强转

======================================================================================================================== 序列化:将对象的状态存储到存储媒介中的过程。 两个最重要的原因: 1、对象的状态永久保存在存储媒体中。“永久存储” 2、将对象从一个应用程序域发送到另一个应用程序域中。“值封送” 反序列化:反序列化则是从特定存储介质中的数据重新构建对象的过程

=========================================================================================================================== 反射的定义:审查元数据并收集关于它的类型信息的能力。

C#高级一的更多相关文章

  1. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  2. PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)

    100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...

  3. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  4. JS高级前端开发群加群说明及如何晋级

    JS高级前端开发群加群说明 一.文章背景: 二. 高级群: 三. 加入方式: 四. 说明:   一.文章背景: 去年年初建了几个群,在不经意间火了,一直排在“前端开发”关键字搜索结果第一名.当然取得这 ...

  5. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  6. Visual Studio 宏的高级用法

    因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ...

  7. [译]基于GPU的体渲染高级技术之raycasting算法

    [译]基于GPU的体渲染高级技术之raycasting算法 PS:我决定翻译一下<Advanced Illumination Techniques for GPU-Based Volume Ra ...

  8. 高薪诚聘熟悉ABP框架的.NET高级开发工程师(2016年7月28日重发)

    招聘单位是ABP架构设计交流群(134710707)群主阳铭所在的公司-上海运图贸易有限公司 招聘岗位:.NET高级开发工程师工作地点:上海-普陀区 [公司情况]上海运图贸易有限公司,是由易迅网的创始 ...

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  10. MongoDB高级查询详细

    前言 前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前 ...

随机推荐

  1. jQuery与其他JS库共存

    * 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$&qu ...

  2. struts2一些概念介绍和标签的使用

    依赖注入 模块包含 struts.xml的模块包含格式 <include file="xx.xml" > OGNL 对象导航语言   有个超大的好处就是根据对象访问属性 ...

  3. 用Java导出为excel表格

    导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...

  4. java的继承

    1.什么是继承:一个类从另外一个类中得到成员.属性和行为方法等. 案例: //父类 public class Animal { // 变量 public int height=1; // 方法 pub ...

  5. session和cookie的简单理解

    0. 引子,我们为什么要cookie和session       因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再 ...

  6. [LeetCode]447 Number of Boomerangs

    Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...

  7. 初学python第二天

    今天我将用python来编写一款小游戏,用这个来总结一下自己学过的一些基础语法.没错,它就是井字游戏.想想自己第一接触这种游戏,还是小学生呢

  8. Android editview 设置只能输入数字、字母和汉字

    Android editview 设置只能输入数字.字母和汉字 当处理密码.昵称等特殊情况的时候,往往需要对输入内容加以限制.对于单纯的一种输入法限制可以对键盘和editview熟悉进行控制,而对于多 ...

  9. blog搬迁

    因为一些个人原因,2年后继续写blog,但是blog搬到github上!具体的地址为: http://www.94geek.com 内容以linux的c开发,分布式存储和分布式计算,还有架构为主.

  10. CSS浮动(float,clear)通俗讲解

    首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...