随笔分类 -  CSharp

使用LINQ读取分隔符文本文件
摘要:有时我们会处理一些带分隔符数据文本文件。例如,使用”,”分隔的数据,如下图: 然后它们存储到文本文件有这样的列: First Name Last Name Job Title City Country 在我们读取这个文件之前,先建一个实体类: 接着我们使用LINQ读取整个文件:要读取可以带条件的记录也可以,我们filter出Country是UK:另一例子:Author: Petter L... 阅读全文
posted @ 2010-03-26 16:20 PetterLiu 阅读(1954) 评论(4) 推荐(0) 编辑
使用ORAYLIS BI.Quality基于Ms的BI数据测试
摘要:ORAYLIS BI.Quality是一个开源项目,对BI解决方案提供一种简单的测试方案。它是基于NUnit并支持多种测试方法。以下示例是2010.3.12Release v1.0版本。   首先,需要下载安装NUnit,然后安装完成后,打到相应的目录,有一个Lib文件夹,找到里面的BI.Quality.dll。这个是已经Bulid好的了。有两种方法来测试, 一种是用NUnit GUI,打开BI.... 阅读全文
posted @ 2010-03-18 16:38 PetterLiu 阅读(1366) 评论(2) 推荐(2) 编辑
使用ExcelPackage生成Excel2007电子表格
摘要:ExcelPackage是一个在服务端生成Excel 2007 电子表格的Library. 下面的代码是生成XLSX文件示例: 是不是很简单?,希望对您有帮助!Author: Petter Liu http://wintersun.cnblogs.com 阅读全文
posted @ 2010-02-28 10:44 PetterLiu 阅读(3283) 评论(2) 推荐(1) 编辑
创建BaseConfig轻松获取AppSetting
摘要:我们经常存储一些配制信息在AppSettings中,是不是经常要写取它们值的代码。让我们写一个简单的基类吧: 1: /// <summary> 2: /// BaseWebConfig 3: /// </summary> 4: public class BaseWebConfig 5: { 6: #region Methods (6) 7: 8: // Protected ... 阅读全文
posted @ 2010-02-04 16:33 PetterLiu 阅读(2166) 评论(0) 推荐(1) 编辑
SQLSERVER2008中CTE的Split与CLR的性能比较
摘要:之前曾有一篇POST是关于用CTE实现Split,这种方法已经比传统的方法高效了。今天我们就这个方法与CLR实现的Split做比较。在CLR实现Split函数的确很简单,dotnet framework本身就有这个function了。 我们新建一个DataBase project,然后建立一个UserDefinedFunctions,Code像这样: 1: /// <summary> ... 阅读全文
posted @ 2010-01-08 15:38 PetterLiu 阅读(2251) 评论(0) 推荐(1) 编辑
IEnumerable的扩展方法
摘要:近期收集一些基于IEnumerable<T>扩展方法,它给我们带了很多便利,有时的确是实用的。其中有Alternate,Append,Prepend,Distinct,Contains。具体怎么用呢,看下面的UnitTest. Code: /// <summary> /// IEnumerableExtension /// </summary> public s... 阅读全文
posted @ 2009-11-06 16:57 PetterLiu 阅读(3118) 评论(0) 推荐(0) 编辑
Linq to Sql 与Linq to Entities 生成的SQL Script与分页实现
摘要:Linq to sql 与 Linq to entities 生成的SQL Script与分页实现,我们选用Northwind做演示的Database.First 5 Records (Page 1) 1: (from c in Customers 2: select new { 3: c.City, 4: c.ContactName 5: }).Skip(0).Take(5)Generated... 阅读全文
posted @ 2009-10-06 11:27 PetterLiu 阅读(5304) 评论(4) 推荐(2) 编辑
使Dictionary泛型查询简单化
摘要:我们经常使用Dictionary<T> 来做些操作,查询一个object,没有找到就Add它。代码像如样: 1: private static Dictionary<string,Employee> employees; 2: … 3: public static Employee GetByName(string name) { 4: Employee employ... 阅读全文
posted @ 2009-08-28 21:33 PetterLiu 阅读(906) 评论(0) 推荐(0) 编辑
Orderby的扩展方法
摘要:CSharp3.0中扩展方法,直接看代码:/// <summary>/// Orders the by./// </summary>/// <typeparam name="T"></typeparam>/// <param name="list">The list.</param>/// <param name="so... 阅读全文
posted @ 2009-08-16 19:32 PetterLiu 阅读(2466) 评论(0) 推荐(0) 编辑
用反射判断一个类型是否是Nullable同时获取它的根类型
摘要:用反射判断一个类型是否是Nullable同时获取它的根类型 在我们的应用程序中我们使用类描述我们的业务对象,为我们产生一些报表之类的,那就依赖大量不同的对象,我们创建一个帮助方法来转换我们的业务对象,或是一个List的业务对象到DataTables. 由于数据库表中字段可为null,对应.net 2.0以后我们可用Nullable类型来实现,那当我们业务对象类中字段有null时,并需要转换为... 阅读全文
posted @ 2009-03-22 17:31 PetterLiu 阅读(3002) 评论(2) 推荐(2) 编辑
dotnet3.5下Singleton辅助类实现
摘要:经常要用到Singleton模式,通常情况下我们是为那个类写一个static method来创建对象。.net3.5下,可以封装这么一个辅助类, 看代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 #region S... 阅读全文
posted @ 2008-12-28 16:19 PetterLiu 阅读(952) 评论(3) 推荐(0) 编辑
简单实现自定义配置节1
摘要:在程序中经常要使用自定义配置节来存储一些信息,下面是一个只读简单实现: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System; using System.Collections.Generic; using Syste... 阅读全文
posted @ 2008-11-23 16:06 PetterLiu 阅读(759) 评论(1) 推荐(0) 编辑
Pluge模式
摘要:Pluge模式,是最常见的模式,实现后期绑定。 阅读全文
posted @ 2008-10-19 18:17 PetterLiu 阅读(1356) 评论(0) 推荐(0) 编辑
.Net中实现简单对象池
摘要:我们首先定义一个对象的基类ObjectPoolBase,用于计数。像这样: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 /// 2 /// ObjectPoolBase 3 /// 4 ... 阅读全文
posted @ 2008-10-11 15:02 PetterLiu 阅读(842) 评论(7) 推荐(0) 编辑
C#调用WINRAR高效压缩源代码
摘要: 有的时候由于工作需要,移动一些源代码,把源代码打包。压缩下来还有20,30MB,但实际一个解决方案有很多项目,每个项目都会生成BIN文件夹,还有Obj文件夹,其中包含有程序集。这些个程序集是没有必要打包,有代码就行了。所以在压缩时,把它们分开。最后压缩下来只有3,4MB,功能强大的WinRAR支持这个操作。可以排除不压缩的文件夹或文件。用C#写一个WinForm调用命令行的RAR来实现这些操作吧 阅读全文
posted @ 2008-08-23 18:04 PetterLiu 阅读(2481) 评论(2) 推荐(0) 编辑
WinForm中多线程操作控件
摘要:在WinForm中的多线程中,操作控件时,会报无效操作异常,解决方法是调用System.Windows.Form.Control中BeginInvoke。 代码如下: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 ... 阅读全文
posted @ 2008-08-16 11:58 PetterLiu 阅读(1385) 评论(0) 推荐(0) 编辑
CSharp中的Enum以及DataSetExtensions对DataRow的扩展
摘要:在编码中,通常我们会用Enum来定义名称常量表示某些状态,这样让程序代码可读性提高。 1.可以显式将枚举类型的变量转换整型。 2.可以对一个枚举变量进行递增或递减操作。 3.定义枚举时手工指定自己想要的整数值。 4.可以选择除int之外的其他类型定义枚举类型的值,如byte,long. 5.所有的Enum派生自Object,Object.ToString()已经自动为每个枚举进行了覆写,作用是返回枚举常数定义时的名称字符串。 阅读全文
posted @ 2008-08-09 18:33 PetterLiu 阅读(2708) 评论(0) 推荐(0) 编辑
一个分油的逻辑问題C#实现
摘要:第一次用word 2007发POST。 /// /// 两个小孩去打油,一人带了一个一斤的空瓶,另一个带了一个七两和一个三两的空瓶。 /// 原计划各打一斤油,可是由于所带的钱不够,只好合打了一斤油, /// 在回家的路上,二人想平分这一斤油,可是又没有其它工具。 /// 现只用这三个瓶... 阅读全文
posted @ 2008-07-26 12:43 PetterLiu 阅读(530) 评论(1) 推荐(0) 编辑