C# のキーワード
予約語 | 関連記事 |
---|---|
abstract | 「抽象化」 |
as | 「ダウンキャスト」 |
async, await |
Ver. 5.0「非同期メソッド」 |
base | 「基底クラスのコンストラクタを明示的に呼び出す」「基底クラスのメンバーの隠蔽」 |
bool | 「組込み型の種類」 |
break | 「while 文」「switch 文」 |
byte | 「組込み型の種類」 |
case | 「switch 文」 |
catch | 「例外処理構文」 |
char | 「組込み型の種類」 |
checked | 「checked キーワード」 |
class | 「クラス定義」 |
const | 「const」 |
continue | 「switch 文」 |
decimal | 「組込み型の種類」 |
default | 「switch 文」「既定値」 |
delegate | 「デリゲートの定義」 |
do | 「do-while 文」 |
double | 「組込み型の種類」 |
else | 「if 文」 |
enum | 「列挙型とは」 |
event | 「イベント」 |
explicit | 「演算子のオーバーロードの方法」 |
extern | 「外部エイリアス」 「プラットフォーム呼び出し」 |
false | 「論理値型」 |
finally | 「例外処理構文」 |
fixed | 「unsafe コード限定機能」「アドレス固定(fixed)」 |
float | 「組込み型の種類」 |
for | 「for 文」 |
foreach | 「foreach文」「foreach文とは」 |
goto | 「goto 文」 |
if | 「if 文」 |
implicit | 「演算子のオーバーロードの方法」 |
in |
「foreach文」
「foreach文とは」
Ver. 4.0「ジェネリックの共変性・反変性」 |
int | 「組込み型の種類」 |
interface | 「C# のインターフェース」 |
internal | 「アクセスレベル」 |
is | 「ダウンキャスト」 |
lock | 「lock 文」 |
long | 「組込み型の種類」 |
namespace | 「名前空間の使い方」 |
new | 「クラスの利用」「基底クラスのメンバーの隠蔽」 |
null | 「クラスの利用」 |
object | 「組込み型の種類」 |
operator | 「演算子のオーバーロードの方法」 |
out |
「出力引数」
Ver. 4.0「ジェネリックの共変性・反変性」 |
override | 「仮想メソッド」 |
params | 「params キーワード」 |
private | 「アクセスレベル」 |
protected | 「アクセスレベル」 |
public | 「アクセスレベル」 |
readonly | 「readonly」 |
ref | 「参照渡し」 |
return | 「関数定義」 |
sbyte | 「組込み型の種類」 |
sealed | 「sealed」 |
short | 「組込み型の種類」 |
sizeof | 「sizeof 演算子」 |
stackalloc | 「unsafe コード限定機能」 |
static | 「静的メンバーの使い方」 |
string | 「組込み型の種類」 |
struct | 「構造体とは」 |
switch | 「switch 文」 |
this | 「コンストラクター」「拡張メソッド」 |
throw | 「例外処理構文」 |
true | 「論理値型」 |
try | 「例外処理構文」 |
typeof | 「静的な型、動的な型」 |
uint | 「組込み型の種類」 |
ulong | 「組込み型の種類」 |
unchecked | 「unchecked キーワード」 |
unsafe | 「unsafe コード限定機能」 |
ushort | 「組込み型の種類」 |
using | 「名前空間の使い方」「using ステートメント」 |
virtual | 「仮想メソッド」 |
volatile | 「volatile」 |
void | 「引数が複数ある関数、引数のない関数、戻り値のない関数」 |
while | 「while 文」「do-while 文」 |
C# の文脈キーワード
特定の文脈でのみ、キーワードとして認識される物もあります。 このようなキーワードのことを文脈キーワード(contextual keyword)といいます。
add | 「イベント」 |
dynamic |
Ver. 4.0「動的型付け変数」 |
get | 「プロパティとは」 |
partial | 「クラスの分割定義」 |
remove | 「イベント」 |
set | 「プロパティとは」 |
value | 「プロパティとは」 |
var |
Ver. 3.0「型推論」 |
where | 「制約条件」 |
yield | 「イテレーター ブロック」 |
when | 「例外フィルター」 |
要するに、set や get はプロパティ構文の中でのみキーワード扱いされますし、 value は set/get アクセサ中でのみキーワード扱いされます。 それ以外の文脈では、普通に変数名として使うことができます。
int value = 5;
Console.Write(value);
Ver. 3.0
~
C# 3.0 の from, select (LINQ 関連)などや、C# 5.0 で導入された async, await (非同期メソッド関連)など、 後から追加されたキーワードは軒並み文脈キーワードになります。