Exemplo n.º 1
0
    public static void Main()
    {
        //
        // Uma instância de FileStream mantém um handle para um recurso nativo, i.e. um ficheiro.
        //
        using (FileStream fs = new FileStreamClean("out.txt")) {
            // Wait for user to hit <Enter>
            Console.WriteLine("Wait for user to hit <Enter>");
            Console.ReadLine();
        }

        /* <=>
         * FileStream fs = null;
         * try{
         *  fs = new FileStreamClean("out.txt");
         *  // Wait for user to hit <Enter>
         *  Console.WriteLine("Wait for user to hit <Enter>");
         *  Console.ReadLine();
         * } finally {
         *  fs.Dispose();
         * }*/

        Console.WriteLine("Filestream disposed....");

        // PrintRunningGC();
        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();
    }
    public static void Main()
    {
        //
        // Uma instância de FileStream mantém um handle para um recurso nativo, i.e. um ficheiro.
        //
        FileStream fs = new FileStreamClean("out.txt");
        // Wait for user to hit <Enter>
        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();

        PrintRunningGC();

        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();
    }
Exemplo n.º 3
0
    public static void Main()
    {
        //
        // Uma instância de FileStream mantém um handle para um recurso nativo, i.e. um ficheiro.
        //
        FileStream fs = new FileStreamClean("out.txt");

        // Wait for user to hit <Enter>
        byte[] toBytes = Encoding.ASCII.GetBytes("Ola Mundo!");
        fs.Write(toBytes, 0, toBytes.Length);
        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();

        PrintRunningGC();

        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();
    }
    public static void Main()
    {
        //
        // Uma instância de FileStream mantém um handle para um recurso nativo, i.e. um ficheiro.
        //
        FileStream fs = new FileStreamClean("out.txt");
        // Wait for user to hit <Enter>
        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();

        // PrintRunningGC();

        // <=> Java close()
        // Faz o mesmo que o Finalize. Mas o Finalize() é chamado pela VM e NÃO explicitamente pelo programador.
        // !!!!!! Não forçar GC.Collect() e em GC.WaitForPendingFinalizers();
        // O Dispose() é a API disponibilizada ao programador
        // Só o Dipose() é permitido ao programdor
        Console.WriteLine("Filestream disposed....");
        fs.Dispose();

        Console.WriteLine("Wait for user to hit <Enter>");
        Console.ReadLine();
    }