上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 与C++一样,C#可以定义析构函数。但C#的析构函数主要用于释放托管资源。在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机。为了完全掌控非托管资源的释放,Net提供一个IDisposable接口。 问题:Finalize()和Dispose()之间的区别? 最简单的 阅读全文
posted @ 2012-12-06 09:44 息晴海 阅读(1336) 评论(2) 推荐(0) 编辑
摘要: 托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等等。而非托管资源是CLR不能控制或者管理的部分,这些资源很多,例如文件流,数据库的连接,系统的窗口句柄,打印机资源等。这些资源一般情况下不存在与Heap中。 CLR的GC功能只能释放托管资源,而对非托管资源,它不知道如何去释放它。这样就会出现当资源用尽时不能提供资源能够提供的服务,windows的运行速度就会变慢。所以,当我们在类中封装了对非托管资源的操作时,我们就需要显示或者隐式地释放这些资源。这里就分别会用到Finalize和Dispose方法。Finalize一般用于基类不带. 阅读全文
posted @ 2012-12-06 01:25 息晴海 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 栈:非类成员的值类型变量托管堆:由CLR管理的堆,引用类型变量非托管堆:与C++同,只能由unsafe代码访问栈的优势:1.快速,内存已经预分配 2.连续,总是自上而下顺序使用,不存在碎片 3.自动回收,调用返回后栈指针回弹栈的劣势:1.不够大,大变量不宜使用栈2.不能长期存在。调用后栈指针必须回弹堆的优势:1.可以分配尽可能大的空间,理论上大至4G 2.存在时间长。只要不delete,进程结束前总是存在堆的劣势:1.慢,需要寻找自由空间并分配(提交物理页) 2.不连续。总是从足够大的自由空间中寻找位置,从而产生内存碎片 3.不能自动回收,需要代码显示回收(delete)。 阅读全文
posted @ 2012-12-05 16:50 息晴海 阅读(191) 评论(0) 推荐(0) 编辑
摘要: MSDN定义:公开用于创建、移动和枚举目录和子目录的实例方法。无法继承此类。作用:用于复制、移动、重命名、创建和删除目录。如果打算多次重用某个对象,可考虑使用DirectoryInfo的实例方法,而不是Directory类的相应静态方法,因为并不总是需要安全检查。命名空间:System.IO 阅读全文
posted @ 2012-12-05 16:37 息晴海 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1.查找指定目录下的文件。2.文件从一个目录移动到另一个目录。3.删除目录中的文件。4.记录程序执行的进程号5.记录程序执行的IP地址。 阅读全文
posted @ 2012-11-30 00:05 息晴海 阅读(176) 评论(0) 推荐(0) 编辑
摘要: public static List<int> GetPage() {string strpath = @"D:\test.txt"; FileStream fs = new FileStream(strpath, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.Default); sr.BaseStream.Seek(0, SeekOrigin.Begin); string str = sr.ReadLine(); while (str != nu 阅读全文
posted @ 2012-11-29 18:06 息晴海 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 在PDF中当涉及到布局问题时(不再是自动地添加文本、图片等等,对元素在页面上的位置有一定的要求),有时我们希望将一些图像或者文本放置在某页的指定位置,为实现该功能,我们将使用PdfContentByte类。PdfContent对象可以通过在使用Writer对象中使用getDirectContent()方法来得到该对象。例:PdfWriter writer=PdfWriter.GetInstance(document, new FileStream("D:\\hellowrold.pdf", FileMode.OpenOrCreate));PdfContentByte cb= 阅读全文
posted @ 2012-11-29 01:46 息晴海 阅读(10212) 评论(0) 推荐(0) 编辑
摘要: Document:一个PDF文档组件pdfWriter:书写器,用于往document中写入信息Chunk:文本块,这是可以写入文档的最小组件Phrase:短语,由一系列Chunk组成paragraph:段落,由一系列的Phrase或者Chunk组成Rectangle:代表几何图形组件。类似html中的Box以下为简单的pdf文件生成代码,注意文档和书写器的关联代码,以及两个异常。 public static void ProNewPdf() { Document document = new Document(); try { PdfWriter.GetInstance(document, 阅读全文
posted @ 2012-11-29 00:59 息晴海 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 在iText中,当创建一个文件时,是可以定义上、下、左、右页边距的。例如:Document document=new Doucment(PageSize.A5,36,72,108,180);即该文档有一个0.5英寸的左边距和1英寸的右边距,上边距为1.5英寸,下边距为2.5英寸。说明:当创建一个矩形或设置页边距时,我们希望回到该用什么度量单位。例厘米、英寸或像素。事实上,默认的度量系统以排版单位磅为基础得出其他单位的近似值,例,1英寸=72磅,如果想在A4页面中创建一个矩形,需计算以下数据:21厘米/2.54=8.2677英寸8.2677英寸*72=595磅29.7厘米/2.54=11.692 阅读全文
posted @ 2012-11-29 00:30 息晴海 阅读(1584) 评论(0) 推荐(2) 编辑
摘要: 文件的分割与合并1.文件的分割,原理是用输入流去读取文件,将读取规定大小的流再输出支指定的文件,直到整个把整个文件读取结束.2.文件合并,文件的合并原理与分割正好想反,就是把所有的文件都读取到一个输入流中,然后再把输入流中的东西全部输出到同一个文件输出流中,这样就可以把分割的文件合并到一个文件中去了. 并且文件的大小和原来也会一样 . 阅读全文
posted @ 2012-11-28 13:38 息晴海 阅读(320) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页