// Below is C# Program to illustrate the keywords using System; class CodeConfigs { // Here static, public, void // are keywords    static public void Main () { // here int is keyword // a is identifier int a = 10; Console.WriteLine( "The value of a is: {0}" ,a); // this is not a valid identifier // removing comment will give compile time error // double int = 101; } } |
The value of a is: 101
There is total 78 keywords in C# as follows:
abstract |
as |
base |
bool |
break |
byte |
case |
catch |
char |
checked |
class |
const |
continue |
decimal |
default |
delegate |
do |
double |
else |
enum |
event |
explicit |
extern |
false |
finally |
fixed |
float |
for |
foreach |
goto |
if |
implicit |
in |
int |
interface |
internal |
is |
lock |
long |
namespace |
new |
null |
object |
operator |
out |
override |
params |
private |
protected |
public |
readonly |
ref |
return |
sbyte |
sealed |
short |
sizeof |
stackalloc |
static |
string |
struct |
switch |
this |
throw |
true |
try |
typeof |
unit |
ulong |
unchecked |
unsafe |
ushort |
using |
using static |
virtual |
void |
volatile |
while |
Keywords in C# is mainly divided into 10 categories as follows:
-
- Value Type Keywords: There are 15 keywords in value types which are used to define various data types.
bool byte char decimal double enum float int long sbyte short struct unit ulong ushort Example:
// C# Program to illustrate the
// value type keywords
using
System;
class
CodeConfigs
{
// Here static, public, voidÂ
// are keywords   Â
static
public
void
Main () {
// here byte is keyword
// a is identifier
byte
a = 47;
Console.WriteLine(
"The value of a is: {0}"
,a);
// here bool is keyword
// b is identifier
// true is a keyword
bool
b =
true
;
Console.WriteLine(
"The value of b is: {0}"
,b);
}
}
Output:
The value of a is: 47 The value of b is: True
- Reference Type Keywords: There are 6 keywords in reference types which are used to store references of the data or objects. The keywords in this category are: class, delegate, interface, object, string, void.
- Value Type Keywords: There are 15 keywords in value types which are used to define various data types.
-
- Modifiers Keywords: There are 17 keywords in modifiers which are used to modify the declarations of type member.
public private internal protected abstract const event extern new override partial readonly sealed static unsafe virtual volatile Example:
// C# Program to illustrate the
// modifiers keywords
using
System;
class
Geeks {
class
Mod
{
// using public modifier
// keyword
public
int
n1;
Â}
// Main Method
static
void
Main(
string
[] args) {
Mod obj1 =
new
Mod();
// access to public members
obj1.n1 = 77;
Console.WriteLine(
"Value of n1: {0}"
, obj1.n1);
}
}
Output:
Value of n1: 77 - Statements Keywords: There are total 18 keywords which are used in program instructions.
if else switch do for foreach in while break continue goto return throw try catch finally checked unchecked Example:
// C# program to illustrate the statement keywords
using
System;Â
class
demoContinueÂ
{Â
public
static
void
Main()Â
{Â Â Â Â Â
// using for as statement keyword
// GeeksforGeeks is printed only 2 timesÂ
// because of continue statementÂ
for
(
int
i = 1; i < 3; i++)Â
{Â
// here if and continue are keywords
if
(i == 2)Â
continue
;Â
Console.WriteLine(
"
CodeConfig
");Â
}Â
}Â
}Â
Output:
CodeConfig
- Method Parameters Keywords: In total there are 4 keywords which are used to change the behavior of the parameters that passed to a method. The keyword includes in this category are: params, in, ref, out.
- Modifiers Keywords: There are 17 keywords in modifiers which are used to modify the declarations of type member.
-
- Namespace Keywords: There are total 3 keywords in this category which are used in namespaces. The keywords are namespace, using, extern.
-
- Operator Keywords: There are total 8 keywords which are used for different purposes like creating objects, getting a size of object etc. The keywords are as, is, new, sizeof, typeof, true, false, stackalloc.
-
- Conversion Keywords: There are 3 keywords which are used in type conversions. The keywords are explicit, implicit, operator.
-
- Access Keywords: There are 2 keywords which are used in accessing and referencing the class or instance of the class. The keywords are base, this.
- Literal Keywords: There are 2 keywords which are used as literal or constant. The keywords are null, default.
Important Points:
- Keywords are not used as an identifier or name of a class, variable, etc.
- If you want to use a keyword as an identifier, then you must use @ as a prefix. For example, @abstract is valid identifier but not abstract because it is a keyword.
Example:
int a = 10; // Here int is a valid keyword double int = 10.67; // invalid because int is a keyword double @int = 10.67; // valid identifier, prefixed with @ int @null = 0; // valid
// C# Program to illustrate the use of // prefixing @ in keywords using System; class CodeConfigs { // Here static, public, void // are keywords    static public void Main () { // here int is keyword // a is identifier int a = 101; Console.WriteLine( "The value of a is: {0}" ,a); // prefix @ in keyword int which // makes it a valid identifier int @ int = 111; Console.WriteLine( "The value of a is: {0}" ,@ int ); } } |
The value of a is: 101 The value of a is: 111
Contextual Keywords
These are used to give a specific meaning to a program. When new keywords arrive in C#, they are added to context keywords instead of keyword categories. This avoids crashes in programs created with previous versions.
Important Points:
- These are not reserved words.
- It can be used as identifiers outside the context that’s why it named contextual keywords.
- These can have different meanings in two or more contexts.
- There are total 30 contextual keywords in C#.
add |
alias |
ascending |
async |
await |
by |
descending |
dynamic |
equals |
from |
get |
global |
group |
into |
join |
let |
nameof |
on |
orderby |
partial(type) |
partial(method) |
remove |
select |
set |
value |
var |
when |
where |
where |
yield |
Example:
// C# program to illustrate contextual keywords using System; public class AppName{ // Declare name field private string name = " ; // Declare name property public string Name { // get is contextual keyword get { return name; } // set is a contextual // keyword set { name = value; } } } class CodeConfigs{ // Main Method public static void Main( string [] args) {Â
s = new AppName (); // calls set accessor of the property Name, // and pass "CodeConfig" as value of the // standard field 'value'. s.Name = "CodeConfig.in" ; // displays CodeConfig.in, Calls the get accessor // of the property Name. Console.WriteLine( "Name: " + s.Name); // using get and set as identifier int get = 50; int set = 70; Console.WriteLine( "Value of get is: {0}" , get ); Console.WriteLine( "Value of set is: {0}" , set ); } } |
Name: CodeConfig.in Value of get is: 50 Value of set is: 70