波斯马BOSSMA Information Technology

DOTNET 下的日志

c#判断对象是否为数组

发布时间:2010年11月18日 / 分类:DOTNET / 2 次吐槽

所有的数组都以Array为基类,但是不能通过object.GetType()==typeof(Array)来判断对象是否为数组。 这里介绍两种方法: 1、使用is 2、使用BaseType??? ??? static bool IsArray(this object o) {?? ??????? return o is Array;?? ??? }?? ??? static bool IsArray2(this o...

使用QueryTable快速填充Worksheet导出Excel

发布时间:2010年11月4日 / 分类:DOTNET / 抢沙发

在使用Com对象或者PIA导出Excel时,对于大数据量的情况,如果一行行的创建,然后添加到Worksheet,速度会比较慢。 还好有别的方法,使用QueryTable查询数据填充Worksheet,速度将有很大的提升,适合数据较多情况的导出。 直接看代码吧,添加了一些注释: /// <summary&g...

C#导出Excel技术总结

发布时间:2010年11月4日 / 分类:DOTNET / 抢沙发

excel在日常办公生活中应用广泛,使用C#导出Excel的方法有很多种,网上介绍的资料也很多。这篇文章属于个人多年来导出Excel的经验总结,包括各种生成excel的方法,输出excel,释放资源以及使用开源项目等。 1、构造Excel的方法 (1)csv结构 遍历数据,构造一个csv文件,然后可...

使用Office PIA生成Excel并释放资源

发布时间:2010年10月29日 / 分类:DOTNET / 抢沙发

在All-In-One Code Framework 上下载了一个使用.NET操作Office的例程。文中详细介绍了如何使用Microsoft Excel Primary Interop Assembly (PIA)生成Excel及释放Com资源。这篇文章把代码提出来,简单翻译加上我的理解。 使用Office PIA之前需要安装,如果没有安装Office,需要先...

VeryCodes类库、控件库项目开源

发布时间:2010年10月12日 / 分类:DOTNET / 抢沙发

VeryCodes类库、控件库项目开源! VeryCodes类库、控件库是基于.net? framework 3.5的,是在实战中慢慢积累起来的,涵盖了asp.net和winform。 本次开源包含5个子项目: 1、VeryCodes.Common:常用功能的封装 2、VeryCodes.Control.Web:asp.net控件库 3、VeryCodes.Control.For...

使用XmlTextReader和XmlTextWriter快速读取和创建xml文件

发布时间:2010年9月28日 / 分类:ASP.NET, DOTNET / 抢沙发

XmlTextReader和XmlTextWriter是.net提供的两个快速操作xml文件的类。 XmlTextReader XmlTextReader提供对 XML 数据进行快速、非缓存、只进访问的读取器。 XmlTextReader首先打开文件,然后从文件中读取信息,最后关闭文件。每次从文件中读取信息时,它在文件中的位置都会前移...

XmlDocument操作xml常用操作

发布时间:2010年9月27日 / 分类:ASP.NET, DOTNET / 抢沙发

使用XmlDocument操作xml,常用操作包括:创建xml文件,编辑xml文件,读取xml文件。主要包括对节点的创建、编辑,属性的的创建、编辑,以及使用XPath进行查找。看下图: 代码如下: ??????? //创建xml protected void Button1_Click(object sender, EventArgs e) ??????? {...

C#实现的各种排序算法

发布时间:2010年9月14日 / 分类:DOTNET / 抢沙发

最近好好学习了一下排序算法,用C#实现了各种排序,并做了简单的性能测试。这篇文章做个索引,并简单的总结一下,以备查询。 1、稳定性 稳定排序:冒泡排序、基数排序、直接插入排序、折半插入排序、归并排序 不稳定排序:选择排序、希尔排序、快速排序、堆排序 2、运行效果 快...

c#排序算法之折半插入排序

发布时间:2010年9月14日 / 分类:DOTNET / 抢沙发

折半插入排序,又称二分插入排序,实际上只是查找,是对插入排序算法的一种改进。 在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left>right,然后再把第i个元素前1位与目标位置之间的所...

C#排序算法之基数排序

发布时间:2010年9月14日 / 分类:DOTNET / 抢沙发

基数排序属于“分配式排序”,基数排序法又称“桶子法”,顾名思义,它是透过键值的部份信息,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序。基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LS...