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. 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从高到底输出候选人编号和所得票数.

    模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从 ...

  2. 【转】mysql 拖库写库用法

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  3. WebView cookie 管理

    在Android应用程序中经常会加载一个WebView页,如果需要客户端向WebView传递信息,比如Cookie,也是可以的. 需要应用程序先将Cookie注入进去,打开该网页时,WebView会将 ...

  4. Java学习笔记 05 数据包装类

    一.包装类 综述 >>java.lang包中的Integer类.Long类和Short类,分别将基本数据类型int.long和short封装成一个类.这些类都是Number的子类. Int ...

  5. android 的数学公式图片转换

    在应用中的数学公式是不能直接以文本显示和输入的,包括在一些学习类网站上看到的公式,他们都是以gif图片的形式展示出来的.而怎么样生成各种各样的gif图片形式的数学公式呢,此处未作深入研究,我所知道的是 ...

  6. 使用IConfigurationSectionHandler在web.config中增加自定义配置

    一. 场景    这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等.二. 基本实现方法1. 定义配置节点对应的类:Site ...

  7. 搜索引擎 ElasticSearch 之 步步为营2 【基础概念】

    在正式学习 ElasticSearch 之前,首先看一下 ElasticSearch 中的基本概念. 这些概念将在以后的章节中出现多次,所以花15分钟理解一下是非常值得的. 英文好的同学,请直接移步官 ...

  8. A very cool thing: Install MYSQL from source without root access on LINUX

    最近由于工作的需要,要在centos上安装MYSQL服务器.作为一名小兵中的小兵,当然是没有root权限的,为了能够使用mysql,只能使用源码安装了(因为binary安装方式似乎需要root acc ...

  9. 天气预报API(三):免费接口测试(“旧编码”)

    说明 我以参考文章为引子,自己测试并扩展,努力寻找更多的气象API... 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "旧编码": 全国城市代码列 ...

  10. Python和C扩展实现方法

    一.Python和C扩展 cPython是C编写的,python的扩展可以用C来写,也便于移植到C++. 编写的Python扩展,需要编译成一个.so的共享库. Python程序中. 官方文档:htt ...