2019年2月26日

摘要: 什么是闭包? 简单理解,当在一个函数的外部访问函数内部定义的变量的时候就会形成一个闭包,由这个理解可以知道,当一个函数执行完成的时候,一般情况下,其作用域会被销毁,其内部定义的变量也会变得不可访问,所以闭包打破了这个现象。闭包造成一个函数执行完成之后,其创建的作用域不会被销毁,因为它被函数外部的对象阅读全文
posted @ 2019-02-26 08:52 此坑已满 阅读(84) 评论(1) 编辑

2019年1月27日

摘要: 在进行多线程编程的时候特别重要的一点就是多线程的同步,什么是同步呢?字面意思就是使多个不在同一线程执行的代码统一到一个线程中执行,但是对执行中的线程过程却无法控制,这就造成了多个线程可能同时操作同一个变量,于是就出现了得到的结果不是想要的结果,为了避免这个情况,我们常用的方法是加锁例如locked,阅读全文
posted @ 2019-01-27 11:30 此坑已满 阅读(92) 评论(0) 编辑

2019年1月6日

摘要: 此文是使用Oracle游标的几种方式,for...in会自动打开游标,fetch...into需要手动打开游标,游标类似于一个只会往前移动的指针,每次指向数据集中的一行数据,通过游标可以打开数据集,也能用于遍历数据集中的数据,在存储过程中可以实现loop循环,以及一些比较复杂的逻辑,也可以用于在存储阅读全文
posted @ 2019-01-06 09:12 此坑已满 阅读(75) 评论(0) 编辑

2018年11月24日

摘要: 项目源文件下载https://files.cnblogs.com/files/ckym/Log4NetTestSourceCode.zip Log4net是一款非常好用的日志记录的框架,使用它可以实现将日志输出到控制台,文件,数据库等功能 网上有很多log4net的使用教程,一些非常简陋,一些又很深阅读全文
posted @ 2018-11-24 18:15 此坑已满 阅读(300) 评论(1) 编辑

2018年11月11日

摘要: 我们在日常的开发任务中,经常遇到对不同的数据结构执行相同的操作,例如有一个方法传入的参数可能是字符串也可能是数字,这样的情况下,一般我们是直接传入一个object类型的参数,以便于可以实现这样的功能。例如以下代码。 private static void Show(object a) { Conso阅读全文
posted @ 2018-11-11 16:07 此坑已满 阅读(286) 评论(0) 编辑

2018年10月20日

摘要: 委托事件学习笔记 本文是学习委托和事件的笔记,水平有限,如有错漏之处,还望大神不吝赐教。 如何声明一个委托呢? 声明委托需要使用关键字delegate其他与声明一个方法相同,需要指定委托使用的参数和返回值,但是委托的声明是没有具体实现的,委托的实现是在初始化的时候指定委托的方法。 //声明一个委托,阅读全文
posted @ 2018-10-20 15:40 此坑已满 阅读(157) 评论(0) 编辑

2018年10月12日

摘要: 本文是学习特性与反射的学习笔记,在介绍完特性和反射之后,会使用特性与反射实现一个简单的将DataTable转换为List的功能,水平有限,如有错误,还请大神不吝赐教。 1. 反射:什么是反射?反射就是在程序运行的过程中,动态的获取类的成员,并对他们进行操作。包括动态调用方法,动态获取,设置属性等。通阅读全文
posted @ 2018-10-12 14:27 此坑已满 阅读(1383) 评论(1) 编辑

2018年10月7日

摘要: 前一篇文章记录了简单的多线程编程的几种方式,但是在实际的项目中,也需要等待多线程执行完成之后再执行的方法,这个就叫做多线程的同步,或者,由于多个线程对同一对象的同时操作造成数据错乱,需要线程安全。这篇文章主要记录多线程的同步异步如何实现线程安全的几种方式的笔记,如有错误,请大神不吝赐教。 因为代码里阅读全文
posted @ 2018-10-07 10:59 此坑已满 阅读(306) 评论(3) 编辑

2018年10月6日

摘要: 在开发中经常有遇到因为程序执行的时间过长,而造成程序假死的情况,这是因为我们的程序是同步执行的,当执行到需要长时间的操作时,程序就会等待当前的操作完成,从而造成程序假死。C#的异步与多线程就是为了解决这个问题的。 多线程编程示例 .Net提供了多种方式实现多线程的编程,包括线程池,Thread,Ta阅读全文
posted @ 2018-10-06 23:08 此坑已满 阅读(307) 评论(1) 编辑