C# コード スニペットC# code snippets

コード スニペットは、あらかじめ用意されているコードのスニペットで、コードにすぐに挿入できます。Code snippets are ready-made snippets of code you can quickly insert into your code. たとえば、for コード スニペットは空の for ループを作成します。For example, the for code snippet creates an empty for loop. 一部のコード スニペットは surround-with コード スニペットであり、コード行を選んでから、選んだコード行を組み込むコード スニペットを選ぶことができます。Some code snippets are surround-with code snippets, which enable you to select lines of code, and then choose a code snippet which incorporates the selected lines of code. たとえば、コード行を選んでから for コード スニペットをアクティブにすると、選んだコード行がループ ブロックの中に含まれる for ループが作成されます。For example, when you select lines of code and then activate the for code snippet, it creates a for loop with those lines of code inside the loop block. コード スニペットを使うと、速く、容易に、信頼性の高いプログラム コードを作成できます。Code snippets can make writing program code quicker, easier, and more reliable.

カーソル位置にコード スニペットを挿入したり、現在選択されているコード ブロックを囲むように surround-with コード スニペットを挿入したりすることができます。You can insert a code snippet at the cursor location, or insert a surround-with code snippet around the currently selected code. コード スニペット挿入機能は、[IntelliSense] メニューの [コード スニペットの挿入] または [ブロックの挿入] コマンドを使って、またはキーボード ショートカットの場合はそれぞれ Ctrl + KX キーの順に押すか、Ctrl + KS キーの順に押すことで、呼び出すことができます。The Code Snippet Inserter is invoked through the Insert Code Snippet or Surround With commands on the IntelliSense menu, or by using the keyboard shortcuts Ctrl+K,X or Ctrl+K,S respectively.

コード スニペット挿入機能では、すべての利用可能なコード スニペットのコード スニペット名が表示されます。The Code Snippet Inserter displays the code snippet name for all available code snippets. また、コード スニペット挿入機能には、コード スニペットの名前または名前の一部を入力できる入力ダイアログ ボックスもあります。The Code Snippet Inserter also includes an input dialog box where you can type the name of the code snippet, or part of the code snippet name. 最も近いコード スニペット名が強調表示されます。The Code Snippet Inserter highlights the closest match to a code snippet name. Tab キーを押すと、コード スニペット挿入機能が閉じて、現在選択されているコード スニペットが挿入されます。Pressing Tab at any time will dismiss the Code Snippet Inserter and insert the currently selected code snippet. Esc キーを押すか、コード エディターをマウスでクリックすると、コード スニペットを挿入することなくコード スニペット挿入機能が閉じます。Pressing Esc or clicking the mouse in the code editor will dismiss the Code Snippet Inserter without inserting a code snippet.

既定のコード スニペットDefault code snippets

既定では、Visual Studio の C# には次のコード スニペットが含まれます。By default the following code snippets are included in Visual Studio for C#.

名前 (またはショートカット)Name (or shortcut) 説明Description スニペットを挿入できる場所Valid locations to insert snippet
#if#if #if ディレクティブと #endif ディレクティブを作成します。Creates a #if directive and a #endif directive. 任意の場所。Anywhere.
#region#region #region ディレクティブと #endregion ディレクティブを作成します。Creates a #region directive and a #endregion directive. 任意の場所。Anywhere.
~ 外側のクラスのファイナライザー (デストラクター) を作成します。Creates a finalizer (destructor) for the containing class. クラスの内部。Inside a class.
属性attribute Attribute から派生するクラスの宣言を作成します。Creates a declaration for a class that derives from Attribute. 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
checkedchecked checked ブロックを作成します。Creates a checked block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
classclass クラスの宣言を作成します。Creates a class declaration. 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
ctorctor 外側のクラスのコンストラクターを作成します。Creates a constructor for the containing class. クラスの内部。Inside a class.
cwcw WriteLine への呼び出しを作成します。Creates a call to WriteLine. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
dodo do while ループを作成します。Creates a do while loop. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
elseelse else ブロックを作成します。Creates an else block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
enumenum enum 宣言を作成します。Creates an enum declaration. 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
equalsequals Object クラスに定義された Equals メソッドをオーバーライドするメソッド宣言を作成します。Creates a method declaration that overrides the Equals method defined in the Object class. クラスまたは構造体の内部。Inside a class or a struct.
exceptionexception exception (既定では Exception) から派生するクラスの宣言を作成します。Creates a declaration for a class that derives from an exception (Exception by default). 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
forfor for ループを作成します。Creates a for loop. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
foreachforeach foreach ループを作成します。Creates a foreach loop. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
forrforr 各イテレーションの後でループ変数をデクリメントする for ループを作成します。Creates a for loop that decrements the loop variable after each iteration. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
ifif if ブロックを作成します。Creates an if block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
indexerindexer インデクサーの宣言を作成します。Creates an indexer declaration. クラスまたは構造体の内部。Inside a class or a struct.
interfaceinterface interface 宣言を作成します。Creates an interface declaration. 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
invokeinvoke イベントを安全に呼び出すブロックを作成します。Creates a block that safely invokes an event. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
iteratoriterator 反復子を作成します。Creates an iterator. クラスまたは構造体の内部。Inside a class or a struct.
iterindexiterindex 入れ子になったクラスを使って "名前付き" の反復子とインデクサーのペアを作成します。Creates a "named" iterator and indexer pair by using a nested class. クラスまたは構造体の内部。Inside a class or a struct.
locklock lock ブロックを作成します。Creates a lock block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
mboxmbox System.Windows.Forms.MessageBox.Show への呼び出しを作成します。Creates a call to System.Windows.Forms.MessageBox.Show. 場合によっては、System.Windows.Forms.dll への参照を追加する必要があります。You may have to add a reference to System.Windows.Forms.dll. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
namespacenamespace namespace 宣言を作成します。Creates a namespace declaration. 名前空間 (グローバル名前空間を含む) の内部。Inside a namespace (including the global namespace).
propprop 自動実装プロパティの宣言を作成します。Creates an auto-implemented property declaration. クラスまたは構造体の内部。Inside a class or a struct.
propfullpropfull get および set アクセサーを持つプロパティの宣言を作成します。Creates a property declaration with get and set accessors. クラスまたは構造体の内部。Inside a class or a struct.
propgpropg プライベートな set アクセサーを持つ読み取り専用の自動実装プロパティを作成します。Creates a read-only auto-implemented property with a private set accessor. クラスまたは構造体の内部。Inside a class or a struct.
simsim static int の Main メソッドの宣言を作成します。Creates a static int Main method declaration. クラスまたは構造体の内部。Inside a class or a struct.
structstruct struct 宣言を作成します。Creates a struct declaration. 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。Inside a namespace (including the global namespace), a class, or a struct.
svmsvm static void の Main メソッドの宣言を作成します。Creates a static void Main method declaration. クラスまたは構造体の内部。Inside a class or a struct.
switchswitch switch ブロックを作成します。Creates a switch block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
trytry try-catch ブロックを作成します。Creates a try-catch block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
tryftryf try-finally ブロックを作成します。Creates a try-finally block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
uncheckedunchecked unchecked ブロックを作成します。Creates an unchecked block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
unsafeunsafe unsafe ブロックを作成します。Creates an unsafe block. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.
使用using using ディレクティブを作成します。Creates a using directive. 名前空間 (グローバル名前空間を含む) の内部。Inside a namespace (including the global namespace).
whilewhile while ループを作成します。Creates a while loop. メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。Inside a method, an indexer, a property accessor, or an event accessor.

関連項目See also