C#中把null作为参数传过去会调用哪个overload?
Stack Overflow上有个有趣的问题,如果向下面这么写,没问题。 1Console.WriteLine( String.Format( "{0}", (object)null) ); 但是如果这么写,会出一个ArgumentNul
Stack Overflow上有个有趣的问题,如果向下面这么写,没问题。 1Console.WriteLine( String.Format( "{0}", (object)null) ); 但是如果这么写,会出一个ArgumentNul
Fuslogvw.exe (Assembly Binding Log Viewer)显示assembly绑定的具体信息,可以帮助调试.NET framework找不到assembly的问题。
Visualizing and Understanding Code综合了如何使用visual studio可视化代码来帮助理解代码,包括下面:理解代码和代码之间的关系:(1)Code Map(2)Dependency Graphs理解代码交互:Sequence Diagrams
C#桌面程序可以通过NGen创建本机映像(包含经编译的特定于处理器的机器代码的文件),并将它们安装到本地计算机,这样在运行时可从缓存中使用本机映像,而不必使用实时 (JIT) 编译器编译原来的IL代码。具体参见CLR Inside Out: The Performance Ben
MSDN上How to: Write a Move Constructor介绍了怎么写move constructor,写的很清楚。
Jeff’s Top 5 XAML Tools.Fireworks to XAMLSnoop and XAMLSpyPistachioKAXAMLXAVIOR - XAML Color Extractor (Not Public, Yet)
Simplified Wrapper and Interface Generator,SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。支持的语言有:Tcl 8.0 and newer versions.Python 1.5 and new
通常我们在学习写C++程序的时候都听过这样的说法,作为函数的参数,应该引用传递pass by const refercence,这样不会有值传递引起拷贝问题,可以提高性能,但是Want Speed? Pass by Value这篇文章的标题就是想要提高性能吗?那就值传递吧。这篇文
ACCU :: Overload Resolution - Selecting the Function这篇文章详细介绍了C++中寻找重载函数的方法。下面给个小例子吧,C++的重载有时候会违背你的直觉。 考虑如下代码: 1234567891011121314151617c
The story of Nokia MeeGo讲述了Nokia Meego的故事,很长,但是很有趣,有兴趣的可以看看。
Top down, bottom up中引用Don’t fear the Monad,提了一个有趣的说法,编程语言分为2类:Bottom-up,从机器开始,逐步抽象,比如C#。Top-down,从数学开始,具体到机器,比如Haskell。而程序员则习惯用从何语言相反的方向进行编程
在C++中catch异常时的参数应该用引用,主要原因还是对象,引用,指针的构造析构原理。下面用代码实例解释一下原因。 先来看我们定义了两个异常,SubException继承BaseException,有一个虚函数打印信息。 123456789101112131415161
Tools for Your Debugging Toolbox是windows下的调试工具大集合,包含下面这些工具的简介和下载地址。- Performance Monitor - PAL- Process Monitor- Proces
Nitriq Code Analysis for .Net是一个免费的.NET代码分析工具,有两个版本,一个UI版,适合开发人员使用,一个命令行版,适合自动编译系统使用。我试了以下,还是很方便的,内建了很多规则,如果违反了很清楚的就能看出来。使用LINQ语句查询分析结果,可以很容
Test Review Guidelines给出了一些review unit test时的一些准则,我简单翻译一下。 可读性: 确保setup和teardown方法没有被滥用。最好用factory method来提高可读性。 确保每个test只测试了一件事。
c++ - Operator overloading - Stack Overflow这篇FAQ讲的很清楚,把要点整理如下: C++中operator重载的基本语意: 只能重载用户定义类型的operator。 以下operator不能重载:.,::,sizeof,
Pex还是很好用的,安装之后可以在visual studio2008和2010中直接用,也能用命令行。 我写了下面这个很简单的小程序: 123456789[PexClass] public class Calculator { [PexMeth
C#中可以用sealed关键字,但是,C++中怎么阻止一个类被继承呢? 方法就是把这个类的构造函数声明成private的,这样就不能被继承了。当然更好的办法是用非技术的手段了:) 方法1: 构造函数private,提供一个Factory方法,缺点就是使用者必须用这个facto
Stack Exchange Open Source Projects « Blog – Stack Exchange
假设我们有一个父类A,一个子类B,如果我们创建一个B的数组,我们能这样用吗? 1A* barray = new B[10]; 写段代码在Visual Studio中来试试吧:) 1234567891011121314151617181920212223242526