using Statement in C#

Blog - Programming

User Rating: / 1
PoorBest 

C#, though the .NET Framework common language runtime (CLR) automatically releases the memory used to store objects that are no longer required. The release of memory is non-deterministic; memory is released whenever the CLR decides to perform garbage collection. However, it is usually best to release limited resources such as file handles and network connections as quickly as possible.

The using statement allows the programmer to specify when objects that use resources should release them. The object provided to the using statement must implement the IDisposable interface. This interface provides the Dispose method, which should release the object's resources.

A using statement can be exited either when the end of the using statement is reached or if an exception is thrown and control leaves the statement block before the end of the statement.

The object can be declared in the using statement, as shown above, or before the using statement, like this:

using (Font font1 = new Font("Arial", 10.0f))
{
}


Font font2 = new Font("Arial", 10.0f);
using (font2)
{
// use font2
}

Multiple objects can be used in with a using statement, but they must be declared inside the using statement, like this:

using (Font font3 = new Font("Arial", 10.0f), 
font4 = new Font("Arial", 10.0f))
{
// Use font3 and font4.
}

The following sample shows how a user-defined class can implement its own Dispose behavior. Note that your type must inherit from IDisposable.

using System;

class C : IDisposable
{
public void UseLimitedResource()
{
Console.WriteLine("Using limited resource...");
}

void IDisposable.Dispose()
{
Console.WriteLine("Disposing limited resource.");
}
}

class Program
{
static void Main()
{
using (C c = new C())
{
c.UseLimitedResource();
}
Console.WriteLine("Now outside using statement.");
Console.ReadLine();
}


Add this page to your favorite Social Bookmarking websites
Tags:

Add comment


Security code
Refresh

Idioms

  • There's no rose without a thorn (Hồng nào mà chẳng có gai)
  • Every man has his faults (Nhân vô thập toàn)

Who's online

We have 8 guests online

Location

 38.107.179.217
 38.107.179.217
Search Bot
 unknown unkno

Relax

Site Ranking


Increase your website traffic with Attracta.com

Quick Search

This Day in History

Poll

What is your current operating system?
 

Weather

Newsletter

Copyright © 2012 Thong D. Nguyen. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.