<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_一个程序员的自省_分类_00-.NET Framework</title><id>http://feed.cnblogs.com/blog/u/15645/category/53018/rss</id><updated>2012-05-29T01:17:01Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/category/53018.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/15645/category/53018/rss"/><entry><id>http://www.cnblogs.com/anderslly/archive/2011/06/17/hashset-part2.html</id><title type="text">HashSet的实现（下）</title><summary type="text">在HashSet的实现（上）中，简要介绍了散列法（hashing）的内容，并以二次探测法实现了一个简单的HashSet。在本文中，将进一步讨论散列法，尤其是GetHashCode方法的实现，最后给出完整的HashSet实现。</summary><published>2011-06-17T09:19:00Z</published><updated>2011-06-17T09:19:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2011/06/17/hashset-part2.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2011/06/17/hashset-part2.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2011/06/13/hashset-part1.html</id><title type="text">HashSet的实现（上）</title><summary type="text">本文主要讨论了散列法和散列函数的基本概念以及解决散列冲突的两种方法：线性探测法和二次探测法，并以二次探测法简单地实现了HashSet的Hash这一部分。</summary><published>2011-06-12T18:03:00Z</published><updated>2011-06-12T18:03:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2011/06/13/hashset-part1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2011/06/13/hashset-part1.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2010/01/18/using-extension-methods.html</id><title type="text">扩展方法浅谈</title><summary type="text">扩展方法首先让我们获得了很强的扩展性方面的能力，可以将很多代码抽象为扩展方法，同时它也会让代码变得更为简洁、直接，这样就带来了一个额外的好处：可读性的提升。</summary><published>2010-01-18T14:01:00Z</published><updated>2010-01-18T14:01:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2010/01/18/using-extension-methods.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2010/01/18/using-extension-methods.html"/><content type="text">扩展方法首先让我们获得了很强的扩展性方面的能力，可以将很多代码抽象为扩展方法，同时它也会让代码变得更为简洁、直接，这样就带来了一个额外的好处：可读性的提升。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2008/07/12/Why-Do-Initializers-Run-In-The-Opposite-Order-As-Constructors.html</id><title type="text">C# 小测试（一）：类成员初始化与构造函数执行的顺序</title><summary type="text">我们在实现类的继承时，创建派生类的实例时，基类与派生类的实例字段都要进行实例化，他们的构造函数都需要调用，那执行的顺序是怎样的呢？一起来做做这个测试题吧。</summary><published>2008-07-12T12:25:00Z</published><updated>2008-07-12T12:25:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2008/07/12/Why-Do-Initializers-Run-In-The-Opposite-Order-As-Constructors.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2008/07/12/Why-Do-Initializers-Run-In-The-Opposite-Order-As-Constructors.html"/><content type="text">我们在实现类的继承时，创建派生类的实例时，基类与派生类的实例字段都要进行实例化，他们的构造函数都需要调用，那执行的顺序是怎样的呢？一起来做做这个测试题吧。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2008/06/20/csharp_vbnet_comparision.html</id><title type="text">C# 与 VB.NET 对比</title><summary type="text">C#与VB.NET特性对照。</summary><published>2008-06-20T07:30:00Z</published><updated>2008-06-20T07:30:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2008/06/20/csharp_vbnet_comparision.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2008/06/20/csharp_vbnet_comparision.html"/><content type="text">C#与VB.NET特性对照。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2008/04/05/framework-design-studio-published.html</id><title type="text">Framework Design Studio 发布了</title><summary type="text">Krzysztof Cwalina 和他的伙计们最近在开发一个工具，可以帮助框架设计者更容易地进行设计、复查和维护高度易用的API，它就是Framework Design Studio（FDS）。目前这个工具主要用于：1、列出一个托管程序集暴露的API；2、比较一个程序集的两个版本的差异；3、对API进行复查，对API的设计进行注解，将复查的bug整理为文档，归入缺陷数据库；4、将API复查结果导出为Word文档；本文提供了此工具的快速入门。</summary><published>2008-04-05T07:54:00Z</published><updated>2008-04-05T07:54:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2008/04/05/framework-design-studio-published.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2008/04/05/framework-design-studio-published.html"/><content type="text">Krzysztof Cwalina 和他的伙计们最近在开发一个工具，可以帮助框架设计者更容易地进行设计、复查和维护高度易用的API，它就是Framework Design Studio（FDS）。目前这个工具主要用于：1、列出一个托管程序集暴露的API；2、比较一个程序集的两个版本的差异；3、对API进行复查，对API的设计进行注解，将复查的bug整理为文档，归入缺陷数据库；4、将API复查结果导出为Word文档；本文提供了此工具的快速入门。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2008/03/02/csProcessor.html</id><title type="text">C#中的预处理器指令</title><summary type="text">简单介绍了C#中的预处理器指令。</summary><published>2008-03-02T07:20:00Z</published><updated>2008-03-02T07:20:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2008/03/02/csProcessor.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2008/03/02/csProcessor.html"/><content type="text">简单介绍了C#中的预处理器指令。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/12/17/weeklylinks1217.html</id><title type="text">本周链接列表(2007.12.10-2007.12.16)</title><summary type="text">本期链接列表的主要内容有：ASP.NET, Reflection, GDI+等 :) </summary><published>2007-12-17T02:30:00Z</published><updated>2007-12-17T02:30:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/12/17/weeklylinks1217.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/12/17/weeklylinks1217.html"/><content type="text">本期链接列表的主要内容有：ASP.NET, Reflection, GDI+等 :) </content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/11/20/vs2008expressversion.html</id><title type="text">Visual Studio 2008 Express版本下载</title><summary type="text">VS2008的90天试用版已可下载,但体积多达4G,内存也得1G以上,不可接受.找到还有一个Express版,916MB,还可接受,先把这个下载下来试试.</summary><published>2007-11-20T12:11:00Z</published><updated>2007-11-20T12:11:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/11/20/vs2008expressversion.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/11/20/vs2008expressversion.html"/><content type="text">VS2008的90天试用版已可下载,但体积多达4G,内存也得1G以上,不可接受.找到还有一个Express版,916MB,还可接受,先把这个下载下来试试.</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/04/11/PerformAsynchronousDatabaseOperations.html</id><title type="text">在SQL Server数据库上执行异步操作</title><summary type="text">有时候我们需要在SQL Server数据库上执行异步操作，即在后台任务中执行该操作，主程序则可以执行其它操作。本文简单介绍相关的一些技术。</summary><published>2007-04-11T13:25:00Z</published><updated>2007-04-11T13:25:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/04/11/PerformAsynchronousDatabaseOperations.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/04/11/PerformAsynchronousDatabaseOperations.html"/><content type="text">有时候我们需要在SQL Server数据库上执行异步操作，即在后台任务中执行该操作，主程序则可以执行其它操作。本文简单介绍相关的一些技术。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/04/08/implementingcloneabletype.html</id><title type="text">实现可克隆（Cloneable）的类型</title><summary type="text">有时我们需要创建一个自定义类型，它能为开发人员提供一种简单的机制来创建该类型实例的副本。这可以通过实现System.ICloneable接口来完成。</summary><published>2007-04-08T12:48:00Z</published><updated>2007-04-08T12:48:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/04/08/implementingcloneabletype.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/04/08/implementingcloneabletype.html"/><content type="text">有时我们需要创建一个自定义类型，它能为开发人员提供一种简单的机制来创建该类型实例的副本。这可以通过实现System.ICloneable接口来完成。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/03/15/understandingexception2.html</id><title type="text">理解.NET中的异常（二）</title><summary type="text">接着上一篇，这里将讨论FCL中预定义的异常类，自定义异常类，正确的使用异常（包括抛出、捕获、封装），最后给出性能方面的建议。</summary><published>2007-03-15T12:19:00Z</published><updated>2007-03-15T12:19:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/03/15/understandingexception2.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/03/15/understandingexception2.html"/><content type="text">接着上一篇，这里将讨论FCL中预定义的异常类，自定义异常类，正确的使用异常（包括抛出、捕获、封装），最后给出性能方面的建议。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/03/14/understandingexception1.html</id><title type="text">理解.NET中的异常（一）</title><summary type="text">或许从第一次使用异常开始，我们就要经常考虑诸如何时捕获异常，何时抛出异常，异常的性能如何之类的问题，有时还想了解究竟什么是异常，它的机制又是什么。本文试着对这些问题进行讨论。</summary><published>2007-03-14T02:26:00Z</published><updated>2007-03-14T02:26:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/03/14/understandingexception1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/03/14/understandingexception1.html"/><content type="text">或许从第一次使用异常开始，我们就要经常考虑诸如何时捕获异常，何时抛出异常，异常的性能如何之类的问题，有时还想了解究竟什么是异常，它的机制又是什么。本文试着对这些问题进行讨论。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2007/01/03/readwritefile.html</id><title type="text">路径，文件，目录，I/O常见操作汇总（三）</title><summary type="text">上一篇介绍了文件和目录的相关操作，这一篇再看看文件读写的相关内容。主要包括：读写文本文件和二进制文件，异步读取文件，创建临时文件，监视文件系统的变化等；</summary><published>2007-01-03T11:11:00Z</published><updated>2007-01-03T11:11:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2007/01/03/readwritefile.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2007/01/03/readwritefile.html"/><content type="text">上一篇介绍了文件和目录的相关操作，这一篇再看看文件读写的相关内容。主要包括：读写文本文件和二进制文件，异步读取文件，创建临时文件，监视文件系统的变化等；</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2006/12/27/filedirectory.html</id><title type="text">路径，文件，目录，I/O常见操作汇总（二）</title><summary type="text">上一篇介绍了路径的相关操作，这一篇就看看文件和目录相关的内容了。主要包括：获取文件、目录、驱动器的基本信息，获取和设置文件和目录的属性，文件的版本信息，搜索文件和目录，文件判等，复制、移动、删除、重命名文件和目录等；</summary><published>2006-12-27T13:36:00Z</published><updated>2006-12-27T13:36:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2006/12/27/filedirectory.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2006/12/27/filedirectory.html"/><content type="text">上一篇介绍了路径的相关操作，这一篇就看看文件和目录相关的内容了。主要包括：获取文件、目录、驱动器的基本信息，获取和设置文件和目录的属性，文件的版本信息，搜索文件和目录，文件判等，复制、移动、删除、重命名文件和目录等；</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2006/12/24/pathcommondialog.html</id><title type="text">路径，文件，目录，I/O常见操作汇总（一）</title><summary type="text">文件操作是程序中非常基础和重要的内容，而路径、文件、目录以及I/O都是在进行文件操作时的常见主题，这里想把这些常见的问题作个总结，对于每个问题，尽量提供一些解决方案，即使没有你想要的答案，也希望能提供给你一点有益的思路，如果你有好的建议，恳请能够留言，使这些内容更加完善。</summary><published>2006-12-24T15:18:00Z</published><updated>2006-12-24T15:18:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2006/12/24/pathcommondialog.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2006/12/24/pathcommondialog.html"/><content type="text">文件操作是程序中非常基础和重要的内容，而路径、文件、目录以及I/O都是在进行文件操作时的常见主题，这里想把这些常见的问题作个总结，对于每个问题，尽量提供一些解决方案，即使没有你想要的答案，也希望能提供给你一点有益的思路，如果你有好的建议，恳请能够留言，使这些内容更加完善。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2006/12/17/stopwatchspeedtesting.html</id><title type="text">使用.NET 2.0中的秒表－Stopwatch类进行速度测试</title><summary type="text">软件的运行速度必须要在用户可以接受的范围内。通常，改善那些短暂的但频繁使用的例程的速度会大幅度地提高软件的整体速度。.NET 2.0中引入了方便实用的Stopwatch类，通过它可以轻松地进行计时，并借此改善程序的性能。</summary><published>2006-12-17T10:25:00Z</published><updated>2006-12-17T10:25:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2006/12/17/stopwatchspeedtesting.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2006/12/17/stopwatchspeedtesting.html"/><content type="text">软件的运行速度必须要在用户可以接受的范围内。通常，改善那些短暂的但频繁使用的例程的速度会大幅度地提高软件的整体速度。.NET 2.0中引入了方便实用的Stopwatch类，通过它可以轻松地进行计时，并借此改善程序的性能。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2006/12/14/ghostdocintroduction.html</id><title type="text">使用GhostDoc为代码生成注释文档</title><summary type="text">C#中XML格式的文档注释好处多多：Visual Studio会在很多地方显示这些注释内容（例如，编辑器的工具提示或对象浏览器），还有一些工具（比如NDoc或微软的文档工具Sandcastle）也可以利用这些注释生成具有良好外观的帮助文件。这些都让XML格式的注释看上去很美——但很不幸，你首先得编写大量简单、乏味的注释。而GhostDoc是Visual Studio的一个免费插件，可以帮助开发人员编写XML格式的注释文档。</summary><published>2006-12-14T04:12:00Z</published><updated>2006-12-14T04:12:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2006/12/14/ghostdocintroduction.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2006/12/14/ghostdocintroduction.html"/><content type="text">C#中XML格式的文档注释好处多多：Visual Studio会在很多地方显示这些注释内容（例如，编辑器的工具提示或对象浏览器），还有一些工具（比如NDoc或微软的文档工具Sandcastle）也可以利用这些注释生成具有良好外观的帮助文件。这些都让XML格式的注释看上去很美——但很不幸，你首先得编写大量简单、乏味的注释。而GhostDoc是Visual Studio的一个免费插件，可以帮助开发人员编写XML格式的注释文档。</content></entry></feed>
