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. OS 系统下安装MySql 配置MySql环境变量

    学习Hive需要,闲话不说 本文的内容: 下载Mysql for Mac 下载Mysql Workbench 安装 Mysql 和 Mysql Workbench 配置Mysql在OS 系统上的环境变 ...

  2. 判断是否是有效的IPV4地址

    参考链接: https://blogs.msdn.microsoft.com/oldnewthing/20060522-08/?p=31113 http://www.cnblogs.com/txw19 ...

  3. C语言小练习四

    题目要求:输入N个数,输出该数列中第k个最大者. 程序源码: #include <stdio.h> #include <string.h> void printResult(i ...

  4. home键通知

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("closeAlert"), n ...

  5. Android Studio Gradle 问题 解决方案

    将AS2.0升到2.1.3出现的问题: Error:No service of type Factory  available in ProjectScopeServices. 在项目中找到build ...

  6. Android Sqlite数据库相关——实现将 Sqlite 数据库复制到SD 卡

    确定 sqlite 数据库所在位置(一般在data/data/com.pagename/databases/ 下,其中 com.pagename为当前项目包名) 确定 sqlite 数据库名称,拼接到 ...

  7. Only女装首页HTML+CSS代码实现

    这是效果图,因为太长,缩略了. 在学习HTML和CSS基础的时候做的.自己切图下来做的. 没有什么技术含量. 源代码和图片我放在github上了, 上个链接吧: https://github.com/ ...

  8. Angular JS将数据显示为两列(html)

    (数据为Array数组)使用AngularJS中ng-show="{{}}",其将数据按行分为奇数行和偶数行,$even是判断是否为奇数行[如果是则为true,不是则为false] ...

  9. setenv.bat

    @echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor lic ...

  10. sacc scss less

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...