自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SHao

路漫漫其修远兮!努力做一个懂产品懂业务的技术人。

  • 博客(5)
  • 收藏
  • 关注

原创 使用C#实现数据结构堆

一、 堆的介绍:  堆是用来排序的,通常是一个可以被看做一棵树的数组对象。堆满足已下特性:堆中某个节点的值总是不大于或不小于其父节点的值任意节点的值小于(或大于)它的所有后裔,所以最小元(或最大元)在堆的根节点上(堆序性)。堆有大根堆和小根堆,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆总是一棵完全二叉树除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入。  堆示意图:  将堆元素从上往下从左到右放进数组对象中,子父节点索引满足关系:  pa

2021-06-04 17:50:16 355 1

原创 单例模式的实现

  记一下学习单例模式的笔记:  单例就是要保证该类仅有一个实例。实现完全封闭的单例(外部不能new)其实就要两点要求:全局访问:需要一个该类型的全局静态变量,每次获取实例时都要判断它是否null,不存在new,存在通过一个方法直接返回该值获取实例来保证对象唯一;实例化控制:new实例不能外部new、造成实例不唯一,需要一个私有构造器禁用共有构造器。  根据new实例的时机,分为饿汉式和懒汉式:一、饿汉式单例:静态变量初始化时new  特点:加载时new,一开始全局就存在该唯一实例,每次用到

2021-06-04 17:21:18 72

原创 在类的继承和多态中对实例化顺序和方法重写用法的一些总结

  总结一下使用类继承和多态时,实例化顺序以及方法继承重写中new,virtual、abstract、override的用法和规则:  继承关系:实例化对象时,作用类型范围在最初基类到具体实例对象的类之间(中间包括父类子类,成员访问权限:private、protected、public):子类实例构造器必须指定拥有父类访问权限的实例构造器:base(xxx),不写默认父类无参构造器;使用:this(xxx)指定先运行本类的某实例构造器,再由他指定执行的父类实例构造器;先实例化基类,再实例化子类,再子

2021-06-04 16:59:58 233

原创 使用FOR XML PATH实现多行数据合并成一列

  有时为避免循环操作数据库、列表展示等一些原因需要将数据及关联数据批量加载进行集中处理,一种解决办法可以使用FOR XML PATH将多行数据合并成一列,达到字段拼接的效果。例如有两个表,  部门表T_Dept:   员工表T_Emp:...

2021-06-04 16:01:00 555

原创 关于.NET中迭代器的实现以及集合扩展方法的理解

  在C#中所有的数据结构类型都实现IEnumerable或IEnumerable接口(实现迭代器模式),可以实现对集合遍历(集合元素顺序访问)。换句话可以这么说,只要实现上面这两个接口的类都是集合类,都能够进行遍历。工作中用过很多扩展方法对泛型集合(IEnumerable)元素进行处理,一直很想一探究竟,通过参考一些资料(主要是大话设计模式和C#从现象到本质这两本书),总结下自己对迭代器和扩展方法的一些理解:一、自己实现一个迭代器。  .NET平台已经提供了IEnumerable和IEumerator

2021-06-03 13:40:06 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除