posted @ 2013-12-09 15:38 xiaomaogong 阅读(440) 评论(0) 推荐(0) 编辑
2013年12月9日
摘要:
最近遇到一个大csv文件解析问题,场景是需要读取某个比较大的csv文件(8000+条数据)然后进行一些验证并把没有通过验证的数据再输出.起初尝试过LINQtoCSV •好处:能够将csv文件反序列化成相应的对象,便于之后用Linq的验证操作 •遇到的问题:性能低下,需要话20+分钟反序列号(8000+数据)解决方案:使用LumenWorks.Framework.IO(内部参照的是System.IO.StreamReader) •优点:高效,只花几秒钟读完整个文件(8000+数据) •不足:不能用面向对象的方式方便地进行复杂的数据处理该API的具体实现可参照:http://www.cod... 阅读全文
2013年10月31日
2013年8月11日
摘要:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace AnotherLog4 7 { 8 class Program 9 { 10 11 12 static void Main(string[] args) 13 { 14 List list = new List(); 15 Random rd = new Ran... 阅读全文
posted @ 2013-08-11 17:32 xiaomaogong 阅读(257) 评论(0) 推荐(0) 编辑
2013年8月9日
摘要:
首先可以以在任意的UIElement中的InputBindings 添加KeyBinding或者其他的mouseBinding, 如下 其中Gesture = key +Modifiers,可以只用genstrure或者key +Modifiers,但不要一起用会造成冲突 阅读全文
posted @ 2013-08-09 14:34 xiaomaogong 阅读(408) 评论(0) 推荐(1) 编辑
2013年7月24日
摘要:
今天遇到一个焦点自定义控制不了的问题,花了大量时间研究WPF控件的Focus,最后解决了,方法如下:1.在想控制focus的panel上加 KeyboardNavigation.TabNavigation = "Cycle"2.在该panel内的各个UI元素中加如 TabIndex参考质料: http://julmar.com/blog/mark/?p=52该站点详细介绍了关于WPF中Focus包括种类,如果在xaml中指定和通过代码指定等等 阅读全文
posted @ 2013-07-24 19:52 xiaomaogong 阅读(525) 评论(0) 推荐(0) 编辑
2013年5月13日
摘要:
Visual Studio 下的位于 Assembly Microsoft.QualityTools.Testing.Fakes.dll下的单元测试框架: 共有两种(Shim , Stub)区别:用法上:Stub用于接口或抽象类(一般不会运用于普通方法的取代),Shim基本上可用于所有非接口抽象类(用的比较多)性能上:Stub的性能好过Shim,因为Stub其实只是原有抽象父类的一个实例,跟执行普通虚方法的性能差不多的,但是Shim则是通过动态插入替换当前代码NOTE:对于基于Stub的扩展方法的Fake不是从Stub+该类,而是从Stub+ 扩展方法所属类名来进行Fake 阅读全文
posted @ 2013-05-13 14:03 xiaomaogong 阅读(513) 评论(0) 推荐(2) 编辑
2013年4月24日
摘要:
#include <iostream>#include <algorithm>using namespace std;//冒泡排序void print(int* a, int n){ for(int i=0; i<n; i++){ cout << a[i]<< ' '; } cout << endl;}void sort(int* a, int n){ for(int i=0; i<n-1; i++){ bool flag = true; for(int j=0; j<n-i-1;j++){ if(a 阅读全文
posted @ 2013-04-24 13:37 xiaomaogong 阅读(202) 评论(0) 推荐(0) 编辑
摘要:
#include <iostream>using namespace std;typedef int T;class bst{ struct Node{ T data; Node* left; Node* right; Node(const T& d):data(d),left(),right(){} ~Node(){cout<<"~Node"<<endl;} }; Node* root; typedef Node* tree; int sz; void clear(tree& t){ if(t==NULL) ... 阅读全文
posted @ 2013-04-24 13:36 xiaomaogong 阅读(151) 评论(0) 推荐(0) 编辑
2013年4月16日
摘要:
程序集:manifest(元数据的一部分): 其中描述了它本身信息包括公开的类型,及其依赖的程序集信息 阅读全文
posted @ 2013-04-16 14:50 xiaomaogong 阅读(116) 评论(0) 推荐(0) 编辑
2013年4月15日
摘要:
松耦合总结:针对抽象编程而不是具体实现设计模式总结: 处处体现针对抽象编程创建型模式: 单件模式: 将构造器私有化话,并添加一个静态的只读的字段作为其单例成员(相对会线程安全),注意:序列化和克隆会影响到单件原型模式:利用.net 自带的MemberizeClone()(不会调用其构造器)能够很方便的实现浅层复制简单工厂模式:根据传入的变量创建相应的产品对象(swich-case)工厂方法模式:在简单工厂的基础上将创建者(Factory)j进一步抽象,将产品的创建延迟到了具体创建者的Create()中抽象工厂: 在工厂方法模式基础上,不是创建出单一的产品,而是创建出一系列相关的产品,如一个餐馆 阅读全文
posted @ 2013-04-15 13:52 xiaomaogong 阅读(149) 评论(0) 推荐(0) 编辑