この投稿のタイトルは落胆していますよね? しかし、あなたはこれが何であるかを推測するのに十分賢いです。 .NETインタビューでは、「
usingディレクティブと
usingステートメントの違いは何ですか?」という質問をよく受けます。時には、プログラムのどこで使用できるかを尋ねる追加のトラップが申請者の前に設定されます。 最初に思い浮かぶのは、名前空間としての型の使用を定義または有効にするために使用される
usingディレクティブの使用です。 たとえば、次のコードスニペットは、using
ディレクティブを使用していくつかの名前空間を含める方法を示しています。
using System.IO; using System.Text;
ちょっと待って! それだけではありません! 次のコード行に示すように、「エイリアスディレクティブ」と呼ばれるものがあり、それを使用できます。 これは、質問に対する答えの中間部分である場合があります。
using mynamespace = myproject.module;
さて、スコープを設定
するusingステートメントに戻ります。スコープを超えると、オブジェクトにアクセスできなくなります。 次の例を考えてみましょう。
using(ColorImageFrame imageFrame = e.OpenColorImageFrame()) {
imageFrameオブジェクト
は 、usingブロックを使用
して定義され
ます 。 これは、コードブロックの実行が完了すると、imageFrameオブジェクトが不要になり、
破棄できることを意味
します。 このアプローチは、効果的なメモリ管理に不可欠です。