C#のコンテキストキーワードとは?意味と一覧をわかりやすく解説
C#のコンテキストキーワードとは
C#では、コード内で使用される文脈(コンテキスト)によって特別な意味を持つ識別子が存在します。代表的な例が、プロパティのアクセサーとして使われる「get」や「set」です。このように、特定の場面でのみキーワードとして機能する語を「コンテキストキーワード」と呼びます。
コンテキストキーワードは、通常の予約語(class や int など)とは異なり、常に予約されているわけではありません。そのため、変数名やメソッド名などの識別子としても自由に使用できるのが大きな特徴です。
コンテキストキーワードの一覧
以下は、C#で定義されている主なコンテキストキーワードの一覧です。
| コンテキストキーワード | ||||||
|---|---|---|---|---|---|---|
| add | alias | ascending | descending | dynamic | from | get |
| global | group | into | join | let | orderby | partial (型) |
| partial (メソッド) | remove | select | set | when | where | yield |
主なコンテキストキーワードの役割
それぞれのキーワードには、次のような用途があります。
- LINQ関連:「
from」「where」「select」「orderby」「group」「join」「let」「into」「ascending」「descending」などは、LINQのクエリ式でデータの抽出・並べ替え・グループ化を行うために使用されます。 - アクセサー関連:「
get」「set」はプロパティの値の取得・設定を、「add」「remove」はイベントへの登録・解除を定義する際に使われます。 - partial:クラスや構造体、インターフェース、メソッドの定義を複数のファイルに分割して記述する場合に使用します。
- dynamic:コンパイル時ではなく実行時に型が解決される動的型付けの変数を宣言するために使用します。
- global:
global::System.Stringのように、グローバル名前空間を明示的に参照する際に使用します。 - yield:イテレーター(反復子)メソッド内で要素を順次返すために使用します。
- when:例外フィルターやswitch式のcaseガードで条件を指定するために使用します。
- alias:
extern aliasディレクティブでアセンブリの別名を定義する際に使用します。
まとめ
コンテキストキーワードは、コード上の位置や使い方によってのみ特別な意味を持つキーワードです。予約語と違い識別子としても利用できるため、C#の言語仕様を柔軟に拡張する役割を担っています。LINQやプロパティ、イテレーターなどを活用するうえで欠かせない概念なので、ぜひ理解しておきましょう。
-
Pythonの予約語(キーワード)とは?一覧と注意点をわかりやすく解説
Pythonの予約語(キーワード)とはPythonにおける予約語(キーワード)とは、言語仕様上、特別な意味を持つようにあらかじめ定められた単語のことです。これらの単語は、変数名・定数名・関数名などの識別子として使用することができません。また、Pythonのキーワードはすべて小文字のみで構成されているという特徴があります。Pythonの予約語一覧以下の表がPythonの予約語の一覧です。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileel
-
Pythonの予約キーワード(予約語)とは?一覧と確認方法をわかりやすく解説
予約語(キーワード)とは予約語(reserved words)は「キーワード」とも呼ばれ、言語仕様の中であらかじめ意味と構文が定義された特別な単語のことです。条件分岐やループ処理といったプログラミング命令を記述する際には、必ずこれらのキーワードを使用します。重要なポイントとして、予約語は変数名や関数名など、他のプログラミング要素の識別子(identifier)として使用できません。例えば「def」や「import」という名前の変数を作成しようとすると、SyntaxError(構文エラー)が発生します。Python 3の予約キーワード一覧以下は、Python 3で定義されている予約キーワードの一