摘要: 关于圆周率,可参阅“维基百科-圆周率”。我前天在博客园也发表了一篇随笔:“计算圆周率的C程序” 。这个C#版的计算圆周率程序就是在C程序的基础上改写的。C#版的程序必须使用C#2.0编译,算法和C程序是一样的,都是利用圆周率的反正切展式的泰勒级数来计算,但C#程序充分使用面象对象的编程方法,并且程序中有适当的注释,比C程序容易理解多了。C#程序从配置文件中读取计算所用的公式,允许自己增加计算公式。
阅读全文
09 2005 档案
摘要:本文讨论在System.IComparable接口的CompareTo方法中,是否可以不使用复合的if-else语句的问题。
阅读全文
摘要:这是很早以前用C语言写的一个计算圆周率的程序, 算法是用泰勒公式计算反正切值。在命令行不跟参数执行该程序则使用Gauss公式计算前1000位圆周率的值,如果带一个命令行参数,则该值为要计算的位数。如果还有第二个命令行参数,则使用Stomer公式计算,可作为验算。因为该程序只涉及到纯数学计算,可以在Linux、Unix、Windows等操作系统下编译并运行。当时写这个程序时,int是2个字节的,现在大多数的C编译器int都是4个字节,不过这不影响程序的正确性。
阅读全文
摘要:在C#中,你给属性赋一个值,然后再读该属性的值,取到的值就有可能不是你刚刚赋给它的值了。
阅读全文
摘要:首先,用 FtpClient.GetDownloadStream() 方法得到一个对应于FTP服务器上文件的Stream,然后把这个Stream传给Zip.GetZipInputStream()方法,得到一个ZipInputStream,然后使用Zip.ReadStream()方法一行一行读取储蓄流水账文件到byte[]中去,这样就取得了我们所需的数据,就象储蓄流水账文件就存放在本地硬盘上一样,避免了下载文件和解压文件。
阅读全文
摘要:在FCL2.0中增加了System.IO.Compression命名空间, 用以进行文件压缩和解压操作。
本文实现一个Zip类封装了该命名空间的相关方法。
但是,如果有使用Zip.DecompressFile()方法去解压标准的ZIP文件,就会出现以下错误:
GZip 头中的幻数不正确。请确保正在传入 GZip 流。
此外,使用Zip.CompressFile()方法也不能将多个文件放入一个ZIP包。
看来,FCL2.0还是不能处理标准的ZIP文件,我目前是使用第三方的ICSharpZipLib来处理ZIP文件。
阅读全文