摘要:
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。C#中使用IEnumerator接口实现,Java中使用Iterator接口实现,其中原理都差不多,下面我就用C#代码来演示下迭代器的实现。 假如我要实现一个自定义容器列表,就叫它Special 阅读全文
摘要:
【解释】本来这篇文章是在前天发出来的,可是当时是刚申请的域名,现在都要域名实名认证,导致我发的项目网址打不开,惹来了很多博友的吐槽,在此说声抱歉,今天一大早就把实名认证提交了,现在网站已经可以正常访问,希望大家多给意见,谢谢。 【概述】 上个星期,以前的一个同事问我有没有做条形码的网址,发她一个,她 阅读全文
摘要:
1、foreach遍历列表或数组时,如果list或数组为null,就会报错,如下图: 2、不知道微软封装foreach的为什么不先检查要遍历的对象是否为null,这样就导致,我们在写代码时,遍历列表时就要先判断列表是否为null,如下图: 3、为了简化这一判断是否null的过程,我写了一个扩展方法, 阅读全文
摘要:
概要 这里的迭代函数指的是对数组对象的操作方法,js数组共有五个迭代函数:every、fifter、forEach、map、some。 1、every every方法,返回值为Boolean类型,true表示数组中所有元素都满足条件,false表示数组中至少有一个不满足条件,代码如下: 2、fift 阅读全文
摘要:
一、概要 因为要在项目中要在ListView中实现下拉框选择,用DataGrid的话,一个不美观,二个绑定数据麻烦,参考网上一种做法,就是单击ListView时,判断单击的区域,然后将Combox控件显示单击的区域,以模拟效果,很少写winform,写的不好,望大家不要笑话。 二、准备控件 先在容器 阅读全文
摘要:
概述 先用C#实现一个栈的类,如下: 上面要注意的是入栈时,是直接把值赋给栈顶,然后再将栈顶加1,出栈的时候,先将栈顶减一,再出栈,切记。 实例一: 用栈来实现进制转换,即十进制转化为2进制、8进制、16进制,代码如下: 测试代码: 运行结果: 实例二 用栈来检查一个字符串括号是否配对,代码如下: 阅读全文
摘要:
概述 看了一个数据结构的教程,是用C++写的,可自己C#还是一个菜鸟,更别说C++了,但还是大胆尝试用C#将其中的环形队列的实现写出来,先上代码: 1 public class MyQueue<T> : IDisposable 2 { 3 private T[] queue; 4 private i 阅读全文
摘要:
概述 由于项目组前端人员缺失,又赶上需要在手机端做一个slide效果的页面,所以只能自己硬着头皮上了,写的很简单,请大家不要笑话,只是拿出来分享下,大家先看下完成后的效果,如下: 过程 看了效果图是不是很简单,确实很简单了,下面我就贴下代码,请大家忍住别笑。 Html CSS JS 总结 没有前端的 阅读全文
摘要:
概述 今天用来演示事件的例子是模拟实现一个文件下载类,在这个类中我将定义一个DownLoad事件,这个事件用来在文件下载的过程中,向订阅这个事件的用户发出消息,而这个消息将用DownLoadEventArgs类来封装,这个消息类中定义一个percent字段,用来保存当前已下载文件的百分比,下面请看官 阅读全文
摘要:
CLR环境中给我们内置了几个常用委托Action、Action<T>、Func<T>、Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范。 一、Action Action封装的方法没有参数也没有返回值,声明 阅读全文