2008年2月10日

MSDN博客中的一篇文章提到了.NET 3.5 SP1会带来的处个修正,见以下代码:

var floats = new ArrayList { 2.5f, 3.5f, 4.5f };
var ints = from int i in floats select i;

注意from后面声明的显式类型(int)。开发者会很自然地认为ints为[2,3,4],但在现在版本.NET 3.5环境下得到的却是[2,4,4]。

原来那段LINQ表达式将会被编译为以下方法调用:

var ints = floats.Cast<int>().Select<int,int>(i => i);

问题便出现在Cast这个扩展方法中,而Cast内部是通过调用Convert类的ToInt32方法转换ArrayList中元素类型的,而这个方法既不是对浮点数进行截去小数,也不是简单的round: ToInt32方法的文档中是这样描述返回值的:

value rounded to the nearest 32-bit signed integer. If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

这种数值转换的方式被称为Banker's rounding

这是个程序语义的问题,将在以后的.NET Frameworkk 3.5 SP1中解决,估计只是修改Cast方法的实现。现在的应对方法是在一些应用场景中不使用显式范围变量。

posted @ 2008-02-16 23:07 Adrian H. 阅读(214) | 评论 (0)编辑

结合jQuery写了一个类似Web Portal的窗体控制页面(Demo),以前也用过Prototype等JavaScript library,发现jQuery不仅轻量,更是有自己的独特之处,足以满足自己的开发需求了~用jQuery我可以忽略很多basic的问题,比如浏览器兼容性。真是能让人体会到JavaScript的强大了。

看这个Web Portal Demo的源码就可能发现我有滥用closure的嫌疑,JavaScript的closure等动态特性简化了思维,抛开class,解决问题是那么直接~

posted @ 2008-02-14 20:13 Adrian H. 阅读(537) | 评论 (0)编辑

原文: Download All the .NET Reference Source Code at Once with Net Mass Downloader
这篇文章介绍了如何使用Net Mass Downloader批量下载.NET源代码和pdb文件,如何配置VS2005以支持使用.NET源代码进行调试。


End of post

posted @ 2008-02-12 21:59 Adrian H. 阅读(467) | 评论 (0)编辑

(又是初体验?)

Server Core的理念挺好的,极度减少预装的特性,减小被攻击外表以提高稳定性和效率,可自定义服务器角色和特性。

我的三年前买的本,从安装到登录用了30分钟(典型的Server Core安装时间为15分钟)。
硬盘占用为1.5G。



登录后只有一个命令行,传说中的"没有图形界面(GUI)",其实只是没有Explorer.exe这个Shell而已,GDI是不会跑出这个版本的 Windows内核的。Virtual Machine Addition安装失败,可能是因为没有对应Windows版本的安装包。
Task Manager里多了个Service标签页。
About中显示的版本:Build 6001: Service Pack 1,据消息称跟这和Vista SP1的版本号相同。Server 2008与Vista SP1是相同的版本的核心组件,这可以理解,但显示给用户看会不会很奇怪呢:"RTM的版本就已经SP1了"。
Create New Task对话框中的Browse按钮点击竟然无反应,看来在Server Core安装中是无法看到"文件夹图标"了,既然没有Shell这个按钮无效,为什么还要保留呢?灰的也可以理解啊。

于是我尝试安装一些Feature,使用ocsetup。。
本以为完全安装完IIS7会有一个可视化的管理界面,上网搜索后发现那是不会有的。。
安装GUI Shell界面到Server Core必定不是很简单的事情,我甚至没有找到一篇相关的文章。 我便想念GUI界面了,命令行对专家来说效率的确可以比GUI高,但GUI也并不是那么邪恶吧,有个选择多好呢(Server Core with GUI)?

Server Core对我来说没什么意义了,回北京买了新本后装个Full installation吧~

 

Original post: http://x-dev.cn/post/Windows-Server-2008-Server-Core-Exp.aspx

posted @ 2008-02-10 16:05 Adrian H. 阅读(711) | 评论 (4)编辑