这些资料是我学习的时候在网络上寻找到的,发布出来希望对大家有帮助,一起努力前进,嘿嘿......Microsoft C#规范 2.0 版 GFC用户提交

feedsky 抓虾 pageflakes google reader my yahoo bloglines 鲜果 有道 http://wap.feedsky.com/bliplink

using System;

using System;
using System.Collections.Generic;
using System.Text;

namespace dependence
{
    class Program
    {
        static void Main(string[] args)
        {
   //依赖问题
 //System.IO.FileStream实现使用了内存缓存区,只有在内存缓存区充满时,该类型才会将内存缓存区中的数据刷新到文件中去。

 //StreamWriter对象内部会保存Stream对象的引用。当向一个StreamWrite对象写入数据时,它会先将数据缓存在自己的内存缓存区,
 //当的内存缓存区充满时,StreamWrite对象才会将内存缓存区中的数据写入FileStream对象的内存缓存区中。
 //只实现了释放模式,因为对象之间可能包含着彼此的引用,垃圾收集器无法正确地推断对它们执行终结的顺序。

    //假设如果FileStreame对象首先被执行终结操作,它将关闭文件。然后,当StreamWriter对象被执行终结操作时,它将试图向已关闭的文件写入数据,将抛出异常。
    //假设如果StreamWriter对象首先被执行终结操作时,其中的数据会被安全地写入文件中。

 //Microsoft的解决方法是不让StreamWriter类实现Finalize方法,从而无法将内存缓存区中的数据刷新到FileStream对象。
 //这意味着忘记显示关闭StreamWrite对象,其内存缓存区中的数据必然丢失。
 //Microsoft希望开发人员认识到这一点,并在自己的代码中显示地调用Dispose方法或Close方法。
 public static void Main()
 {
  FileStream fs = new FileStream("Temp.dat", FileMode.Create);
  StreamWriter sw = new StreamWriter(fs);
  try
  {
   // Write the bytes to the temporary file.
   sw.Write("Hi there");
  }
  finally
  {
   // Explicitly close the file when done writing to it.
   if (sw != null)
    ((IDisposable)sw).Dispose();//或者fs.Close();
  }

  // Delete the temporary file.
  File.Delete("Temp.dat");  // This always works now.
 }      }
    }
}


友情链接

郑州大学软件学院 SpringWidgets-Blogger 徵信社 翻译公司 链接帮手网 行驶证字体 酷站目录 Friend Connectified