<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>C# on DigDeeply's Blog</title><link>https://fukun.org/categories/c%23/</link><description>Recent content in C# on DigDeeply's Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 14 Oct 2011 06:48:45 +0800</lastBuildDate><atom:link href="https://fukun.org/categories/c%23/index.xml" rel="self" type="application/rss+xml"/><item><title>hash学习–哈希的原理和代价</title><link>https://fukun.org/archives/10141480.html</link><pubDate>Fri, 14 Oct 2011 06:48:45 +0800</pubDate><guid>https://fukun.org/archives/10141480.html</guid><description>&lt;p&gt;哈希表和哈希函数是大学数据结构中的课程，实际开发中我们经常用到Hashtable这种结构，当遇到键-值对存储，采用Hashtable比ArrayList查找的性能高。为什么呢？我们在享受高性能的同时，需要付出什么代价(这几天看红顶商人胡雪岩，经典台词：&lt;span style="color: #ff9900;"&gt;在你享受这之前，必须受别人吃不了的苦，忍受别人受不了的屈辱&lt;/span&gt;)，那么使用Hashtable是否就是一桩无本万利的买卖呢？就此疑问，做以下分析，希望能抛砖引玉。&lt;/p&gt;</description></item><item><title>【ASP.net文档】用C#实现HTTP协议下的多线程文件传输</title><link>https://fukun.org/archives/10041453.html</link><pubDate>Tue, 04 Oct 2011 07:08:57 +0800</pubDate><guid>https://fukun.org/archives/10041453.html</guid><description>&lt;p&gt;很多人都有过使用网络蚂蚁或网络快车软件下载互联网文件的经历，这些软件的使用可以大大加速互联网上文件的传输速度，减少文件传输的时间。这些软件为什么有如此大的魔力呢？其主要原因是这些软件都采用了多线程下载和断点续传技术。如果我们自己来编写一个类似这样的程序，也能够快速的在互联网上下载文件，那一定是非常愉快的事情。下面介绍一下如何利用C#语言编写一个支持多线程下载文件的程序，你会看到利用C#语言编写网络应程序是多么的容易，从中也能体会到C#语言中强大的网络功能。&lt;/p&gt;
&lt;p&gt;首先介绍一下HTTP协议，HTTP亦即Hpyer Text Transfer Protocal的缩写，它是现代互联网上最重要的一种网络协议，超文本传输协议位于TCP/IP协议的应用层，是一个面向无连接、简单、快速的C/S结构的协议。HTTP的工作过程大体上分连接、请求、响应和断开连接四个步骤。C#语言对HTTP协议提供了良好的支持，在.NET类库中提供了WebRequest和WebResponse类，这两个类都包含在System.Net命名空间中，利用这两个类可以实现很多高级的网络功能，本文中多线程文件下载就是利用这两个类实现的。 WebRequest和WebResponse都是抽象基类，因此在程序中不能直接作为对象使用，必须被继承，实际使用中，可根据URI参数中的URI前缀选用它们合适的子类，对于HTTP这类URI,HttpWebRequest和HttpWebResponse类可以用于处理客户程序同WEB服务器之间的HTTP通讯。&lt;/p&gt;</description></item><item><title>学以致用</title><link>https://fukun.org/archives/0415903.html</link><pubDate>Fri, 15 Apr 2011 07:44:30 +0800</pubDate><guid>https://fukun.org/archives/0415903.html</guid><description>&lt;p&gt;各个部门总是有数据库用户查询的需求，每次都要跑去拼凑个sql语句，查出来，再把结果导出成excel，有点繁琐。&lt;/p&gt;
&lt;p&gt;于是，自己抽空鼓捣了一个小tools，可以很方便的查询了，而且在导出前会显示sql语句，可以再次灵活的修改sql语句后再进行导出操作，很方便，他们来提需求，马上就可以给他们结果啦~&lt;/p&gt;
&lt;div id="attachment_904" style="width: 610px" class="wp-caption aligncenter"&gt;
 &lt;a href="//fukun.org/wp-content/uploads/2011/04/kehu-database-sqll-select-20110415.jpg"&gt;&lt;img class="size-large wp-image-904" title="kehu-database-sqll-select-20110415" src="//fukun.org/wp-content/uploads/2011/04/kehu-database-sqll-select-20110415-600x436.jpg" alt=".Net制作的数据库查询小工具" width="600" height="436" /&gt;&lt;/a&gt;
 &lt;p class="wp-caption-text"&gt;
 .Net制作的数据库查询小工具
 &lt;/p&gt;
&lt;/div&gt;</description></item><item><title>C# Winform中导出DataSet到Excel,使用保存文件对话框</title><link>https://fukun.org/archives/0414899.html</link><pubDate>Thu, 14 Apr 2011 07:24:19 +0800</pubDate><guid>https://fukun.org/archives/0414899.html</guid><description>&lt;p&gt;首先，需要添加引用Excel.dll，Excel组件VS.Net本身是没有的，以下是生成Excel.dll的方法。&lt;/p&gt;
&lt;p&gt;1.要保证机器本身要安装Microsoft Office。&lt;/p&gt;
&lt;p&gt;2.把C:Program FilesMicrosoft OfficeOffice1:【office 安装路径】下的EXCEL9.OLB文件拷贝到C:Visual Studio.NetSDKv1.1Bin:【VS.Net安装路径】路径下。&lt;/p&gt;
&lt;p&gt;3.打开Visual Studio .Net2003/2008命令提示，运行TlbImp Excel9.olb Excel.dll ，就会在[C:Visual Studio.NetSDKv1.1Bin]下生成Excel.dll组件。(Tlbimp命令是vs自带的一个工具，位于Microsoft Visual Studio 8SDKv2.0Bin下)&lt;/p&gt;
&lt;p&gt;4.把Excel.dll复制到你的项目中，在项目中添加Excel.dll引用就可以了。(最好是用最新版本的Office生成excel.dll，否则旧版本的office的dll有可能在高版本机器上不兼容。)&lt;/p&gt;</description></item><item><title>c#中判断控件类型</title><link>https://fukun.org/archives/1213263.html</link><pubDate>Mon, 13 Dec 2010 11:44:49 +0800</pubDate><guid>https://fukun.org/archives/1213263.html</guid><description>&lt;p&gt;c#中判断控件类型&lt;/p&gt;
&lt;p&gt;1、可用控件的GetType函数,control.gettype().tostring,输出的类型带命名空间,如system.web.ui.webcontrols.button&lt;/p&gt;
&lt;p&gt;2、也可用TypeName函数，typename(control),输出的类型不带命名空间,如button控件直接输出button类型&lt;/p&gt;
&lt;p&gt;3、If (obj.GetType Is GetType(System.Windows.Forms.CheckBox))&lt;/p&gt;
&lt;p&gt;4、If (obj.GetType == typeof(System.Windows.Forms.CheckBox))&lt;/p&gt;</description></item></channel></rss>