A kontextusfüggő kulcsszavak egy konkrét jelentés megadására szolgálnak a kódban és csak bizonyos esetekben minősülnek fenntartott kulcsszavaknak. Egyes kulcsszavak egy vagy két kontextusban is különleges jelentéssel bírnak.
and
Pattern matching (C# 9) közben használható kulcsszó. Logikai ÉS műveletet valósít meg.
add
Esemény létrehozása esetén alkalmazható blokkot definiáló utasítás. A benne elhelyezett kód az eseményre való feliratkozáskor fog lefutni.
ascending
LINQ kérések esetén alkalmazható kulcsszó, ami az adatok rendezését valósítja meg növekvő sorrendben. A rendezési szempontnak a kulcsszó előtt kell szerepelnie.
async
Aszinkron végrehajtásúnak jelöl egy void vagy Task típusú metódust. Az aszinkron metódusok külön szálon fognak futni, a grafikus felületet futtató szálat nem blokkolják végrehajtásban. Minden async jelzőjű metódusnak tartalmaznia kell legalább egy await utasítást. Ennek hiányában a metódus végrehajtása szinkron lesz.
await
Aszinkron void vagy Task metódusban egy másik feladatra várakozás a grafikus felületet futtató szál blokkolása nélkül.
by
A group LINQ utasítással együtt használandó. A csoportba rendezés szempontját definiálja.
descending
LINQ kérések esetén alkalmazható kulcsszó, ami az adatok rendezését valósítja meg csökkenő sorrendben. A rendezési szempontnak a kulcsszó előtt kell szerepelnie.
dynamic
Dinamikus változó típus. A kifejezés típusa fordítási időben nem eldönthető, csak futási időben.
equals
A join LINQ művelet közben meghatározza a két kollekció összekapcsolásának feltételét.
from
LINQ kérések esetén a kollekciót adja meg, amiből az elemek kiválogatása történik.
get
Tulajdonságok esetén a tulajdonság olvasásakor lefutó kódrészlet definiálására szolgál.
global
A legfelsőbb globális, amúgy névvel nem rendelkező névtér elérésére szolgáló kulcsszó. Továbbá C# 10 óta szerelvény szinten használatba vett névterek megjelölésére is szolgál.
group
LINQ kérések esetén a lekérdezett adatokat csoportba rendezi valamilyen szempont szerint. A szempontot a kulcsszó után kell megadni.
into
LINQ kérések esetén a lekérdezett adatok csoportba rendezésénél a csoportokat tartalmazó kollekció változóját definiálja.
init
Tulajdonságok esetén a tulajdonság írásakor lefutó kódrészlet definiálására szolgál. A set-től abban különbözik, hogy ez csak egyszeri írást tesz lehetővé Object Initializer szintaxis használatával.
join
LINQ kérések esetén két, vagy több kollekció összekapcsolása a kollekcióban található adatok alapján.
let
LINQ kérések esetén ideiglenes változót definiál, amivel a kérés részletekre bontható.
on
LINQ join művelet esetén az equals kulcsszóval együtt definiálják a két kollekció összekapcsolásának feltételét.
or
Pattern matching (C# 9+) közben használható kulcsszó. Logikai VAGY műveletet valósít meg.
orderby
LINQ kérések esetén alkalmazható kulcsszó, ami az adatok rendezését valósítja meg. A kulcsszó után kell állnia a rendezési szempontnak, majd ezt követően a rendezés módjának.
not
Pattern matching (C# 9+) közben használható kulcsszó. Logikai NEM műveletet valósít meg.
notnull
Generikus típusok esetén alkalmazható kényszer (C# 8+), ami kiköti, hogy az adott típus nem vehet fel null értéket.
remove
Esemény létrehozása esetén alkalmazható blokkot definiáló utasítás. A benne elhelyezett kód az eseményről való leiratkozáskor fog lefutni.
select
LINQ kérések esetén alkalmazható kulcsszó, ami az egy kollekcióból kiválasztandó elemet vagy elem tulajdonságot határozza meg.
set
Tulajdonságok esetén a tulajdonság írásakor lefutó kódrészlet definiálására szolgál.
unmanaged
Generikus típus kényszer, ami azt jelzi a fordítónak, hogy T típus nem menedzselt és megengedett a módosítóval ellátott típusban, metódusban a T típusú mutatók alkalmazása.
value
Tulajdonságok esetén a tulajdonság írásakor lefutó kódrészletben a kapott értéket azonosító kulcsszó.
var
Fordítási időben kiértékelt típus. A típus a kifejezés jobb oldala alapján kerül meghatározásra.
where
LINQ kérések esetén alkalmazható kulcsszó, ami az adatok szűrésére alkalmazható és generikus típusok esetén a típusra vonatkozó korlátozások, kényszerek definiálásra szolgál.
when
Catch kulcsszóval alkalmazható. Használatával további feltételek adhatóak meg, hogy mikor aktiválódjon a catch által definiált kivételkezelő blokk.
with
C# 9 óta alkalmazható kulcsszó. Klónozásra és egy objektum értékeinek módosítására szolgál.
yield
IEnumerable felület implementálását megkönnyítő kulcsszó.