摘要:
在msdn 上看到的文章 Quick Puzzle: what does this program print? 你知道这段代码的输出吗? class Hello { Type Unknown { get { return World.GetType(); } } object[] Knowledge() { return Unknown.GetProperties(); } string[] Library() { return Array.ConvertAll<object, string>( ... 阅读全文
摘要:
前段时间,有个同事说 “30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000... 阅读全文
摘要:
在这周的一次讨论中,有人说(a+(b+c)) 等于 ((a+b)+c) ,当a, b,c 全部都是简单数据类型,例如int,float,double ...在数学上当然如此,但是在代码上却并非如此,首先考虑下System.Int32 以及下面的test.cs:using System;class Program{ static void Main(string[] args) { int a = int.MaxValue; int b = 1; int c = -a; try { Console.WriteLine(a+(b+... 阅读全文
摘要:
问题描述:找出Framework 4.0 新增的方法和新增的类(上) 为什么动态加载程序集无法找出Framework 4.0 和Framwork2.0 新增的方法和类? 因为控制台程序默认就添加了Framework4.0的程序集,当你使用Object,Type,string这些类的时候就已经在使用已经加载的程序集了,而clr不会重复的去加载程序集??,这点记不清了。 所以V2Assembly 和v4Assembly都是Framework4.0的Assembly。 验证: static void Main(string[] args){ ... 阅读全文
摘要:
经常看到有同学在讨论Framework 4 的新特性,新方法,于是想写个程序找出framework4.0中新增的方法和类。程序思路:动态加载V4和V2的mscorlib.dll程序集,通过反射进行比较。之所以加载mscorlib.dll 是因为framework中的大部分类都在这里,而发生变更的也就是这里最多。第一步:新建控制台程序:加载程序集: 加载程序集完成后,自然要获取程序集中的所有Type,这里直接使用默认的GetTypes方法。 获取了v4Types 和v2Types之后,就要对v2Types里面的所有Type于v4Types里面的所有Type进行比较,而比较的内容就是GetMemb 阅读全文
摘要:
前阵子在CodeProject上看到了一篇文章:MBG Extensions Library 大致是作者在介绍自己写的扩展方法类库,内容如下: In() if (myString == "val1" || myString == "val2" || myString == "val3" || myString == "val4" || myString == "val5... 阅读全文
摘要:
有很多书上都提出过一个建议:不要返回null对象。 比如下面的GetUsers方法: public class User { public string Id { get; set; } public string Name { get; set; } } public List<User> GetUsers() { List<User> result = new List<User>(); // search db for ... 阅读全文
摘要:
一直以来,网易的视频我都经常看,尤其是网易公开课 ,但是看网易视频有一个不爽的地方,也许是我太挑剔了,不过这的确让我不爽。 例如打开链接http://v.163.com/video/2011/9/V/G/V7DUUDJVG.html 在视频播放的时候我点击了“暂停”,标题变成了现在这个样子,点击“评论”也会如此 前阵子在开发Silverlight的程序的时候,也碰到了上面的标题问题。下面我将慢慢的道来: 新建Silverlight 4应用程序项目:SLNavigationDemo 增加两个页面Page1.xaml,Page2.... 阅读全文
摘要:
面向过程: 假设有两个类Square(正方形),Rectangle(长方形) 。代码如下: 如果有一个类Geometry需要计算图形的面积: 假设现在要添加一个Circle(圆形),并且同样需要计算Circle的面积。那么需要做哪些修改: 1:需要添加Circle类,代码如下: 2:因为需要计算Circle的面积,所以Geometry类需要修改 可以看到增加了sharp is Circle 的判断。 假设现在Geometry类不仅仅需要计算面积,还需要计算sharp的周长。 那么Geometry... 阅读全文
摘要:
别给糟糕的代码加注释-----------------重新写吧 这是书中的关于注释一章的第一句话,怎么说呢,这句话个人感觉很对,但是实际上却很少这么做, 有几个原因: 糟糕的代码不是自己写的,别人写的代码,还是让别人自己去维护吧,出了问题也是别人的。 糟糕的代码目前可以正常工作,软件开发中有一条古老哲言:如果它能工作就不要动它,很多程序员都遵守这条准则。 既然代码不能被修改,那么就只能加注释了。 上面的几个原因纯粹是自己的想法,希望你不要和我一样。 注释的好处基本上大家都知道,主要是为了方便其他人更好的查看和理解代码,下面的一... 阅读全文