标签:virtualbox .net
More Effective C# 中文版 副标题: 改善C#程序的50个具体办法 [美] Bill Wagner 著,陈黎夫 译 人民邮电出版社,2010年1月第1版
More Effective C# 中文版,第3章 C#设计实践,条目26:确保属性的行为与数据类似
这个条目是非常有道理的。但是,也存在着例外:DateTime.Now 属性。这个很常用的属性显然不满足:重复地访问同样一个属性理应得到同样的结果。DateTime 类的 Now 属性是静态的,那么让我们来看看Stopwatch.Elapsed 属性吧:
01: using System; 02: using System.Diagnostics; 03: 04: sealed class Test 05: { 06: static void Main() 07: { 08: Console.WriteLine("OS Version: " + Environment.OSVersion); 09: Console.WriteLine("CLR Version: " + Environment.Version); 10: Console.WriteLine("IsHighResolution: " + Stopwatch.IsHighResolution); 11: Console.WriteLine("Frequency: {0:N0}", Stopwatch.Frequency); 12: var stopwatch = Stopwatch.StartNew(); 13: Console.WriteLine("Elapsed: " + stopwatch.Elapsed); 14: Console.WriteLine("Elapsed: " + stopwatch.Elapsed); 15: stopwatch.Stop(); 16: } 17: }
该程序在 Linux 操作系统中的运行结果如下:
该程序在 Windows 操作系统中的运行结果如下:
可见 Stopwatch 类的 Elapsed 属性也不满足:重复地访问同样一个属性理应得到同样的结果。
上述程序的运行环境如下所示:
版权声明:本文为博主http://www.zuiniusn.com 原创文章,未经博主允许不得转载。
标签:virtualbox .net
原文地址:http://blog.csdn.net/u013141940/article/details/47121895