使用中か使用中ですか?

この投稿のタイトルは落胆していますよね? しかし、あなたはこれが何であるかを推測するのに十分賢いです。 .NETインタビューでは、「 usingディレクティブusingステートメントの違いは何ですか?」という質問をよく受けます。時には、プログラムのどこで使用できるかを尋ねる追加のトラップが申請者の前に設定されます。 最初に思い浮かぶのは、名前空間としての型の使用を定義または有効にするために使用されるusingディレクティブの使用です。 たとえば、次のコードスニペットは、using ディレクティブを使用していくつかの名前空間を含める方法を示しています。



using System.IO; using System.Text;
      
      





ちょっと待って! それだけではありません! 次のコード行に示すように、「エイリアスディレクティブ」と呼ばれるものがあり、それを使用できます。 これは、質問に対する答えの中間部分である場合があります。



 using mynamespace = myproject.module;
      
      





さて、スコープを設定するusingステートメントに戻ります。スコープを超えると、オブジェクトにアクセスできなくなります。 次の例を考えてみましょう。



 using(ColorImageFrame imageFrame = e.OpenColorImageFrame()) { //    }
      
      





imageFrameオブジェクト 、usingブロックを使用して定義されます 。 これは、コードブロックの実行が完了すると、imageFrameオブジェクトが不要になり、 破棄できることを意味ます。 このアプローチは、効果的なメモリ管理に不可欠です。



All Articles