支持复数是机械和电子工程师,以及大部分科学工作者所使用的任何编程语言的基础。这也是为什么,从 FORTRAN 开始,复数是这些语言的标准。不可思议的是,在.NET 运行时中没有这个东西,而迫使开发人员去构建自己的解决方案。虽然这种自己构建的类本身很简单,却很难和来自不同来源的函数库融合在一起。新的 System.Numerics.Complex 类最终为函数库互操作提供了通用数据类型。
另外一个有趣的类是在 System.Device.Location 命名空间中的 CivicAddress 。这个类的目的是支持 Windows 7 的地理位置系统,并通过 GeoLocationProvider 来访问。虽然从技术的角度看,其没有打算充当地址的通用基类,但还是可以这样来使用。
很多关键的基类也挑选了一些被大家经常要求的辅助函数予以实现。Stream 类终于有从一个流复制到另外一个的方法了。TryParse 被添加到了 Guid、Version 和 Enum 中。Enum 也实现了 HasFlag 方法使大家读取标志更容易。String 添加了 IsNullOrWhiteSpace 方法来和 IsNullOrEmpty 对应,其用 Char.IsWhiteSpace 来对字符串求值。Path.Combine、String.Concat 和 String.Join 也加入了新的重载方法,可以接受参数数组。
为了轻易支持 XP、Vista 和 Windows 7 的很多差异,Environment.SpecialFolder 枚举现在提供更多的路径。Environment 上也有函数来确定进程或操作系统是否是 64 位的了。
查看英文原文: BCL Changes in .NET 4
评论