1.1 算法描述
(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
(3)针对所有的元素重复以上的步骤,除了最后一个。
Just So So ...
(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
(3)针对所有的元素重复以上的步骤,除了最后一个。
这节来讲一下泛型接口:IEquatable。
IEquatable泛型接口处于System.Runtime命名空间下,最早在.NET Framework 2.0中发布,只有泛型版本。像之前我们讲过的IComparable,IEnumerable接口,它们属于是1.0时期的内建接口,那时C#还没有泛型的概念,而2.0以后的版本,才有泛型的概念。之所以出现泛型接口,是因为通过泛型可以减少值类型的装箱,以及实现类型安全。
在我每次写技术类博文的时候,经常做的一件事就是创建模拟数据。在每篇博文中,为了解释某些概念,我需要创建许多模拟数据。这是一个我在实际中遇到的问题,因为我需要为我的程序找到一些合适的数据。有些时候,我会从数据库中找一些数据(Northwind和AdventureWorks都是我的好朋友.), 有些时候,我会使用一些现成的Json或者Xml数据,当然有时候我只能自己手动创建一些数据。
元组就是将一组松散的对象简单地组合在一起。
元组比数组灵活性略强,数组中元素类型是统一的,而元组使用的是泛型参数,每个元素类型相互独立。
元组不同于类和结构,类和结构是高度聚合的数据类型,其中要实现各种复杂的功能;元组还是一系列单一对象的简单组合,不存在复杂操作。
如前所述,流的一个特性是可以将它们链接起来。为了压缩流,只需要创建 DeflateStream,并给构造函数传递另一个流(在这个例子中,是写入文件的outputStream),使用 CompressionMode. Compress 表示压缩。使用 Write方法或其他功能写入这个流,如以下代码片段所示的 CopyTo()方法,就是文件压缩所需的所有操作: