Keywords or reserved words are words in a language that are used for internal processes or represent predefined actions. Therefore, these words cannot be used as variable names or objects. This will result in a compile-time error.
// 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;
}
}
Output:
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:

    1. 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
      
    2. 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.
    1. 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
    2. 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
    3. 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.
    1. Namespace Keywords: There are total 3 keywords in this category which are used in namespaces. The keywords are namespace, using, extern.
    1. 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.
    1. Conversion Keywords: There are 3 keywords which are used in type conversions. The keywords are explicit, implicit, operator.
    1. 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.
  1. 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);
}
}
Output:
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 = "CodeConfig"
// 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) 
AppNames = 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);
Output:
Name: CodeConfig.in
Value of get is: 50
Value of set is: 70
In this article we tried to explain C# | Keywords with Examples. I hope you enjoyed reading this article. For more information you can check out Microsoft learn.
For more information you can visit our C# Section for more such articles.

Explore More

Working With File Class In C#

In C#, ‘File’ class provides many static methods for moving, copying, and deleting files. These Static methods involve moving a file and copying and deleting a file also. Let’s check

How to Read a Text File in C#

In C# ‘File’ class provides static methods to read given text file data. The File.ReadAllText() method opens a text file, reads all the text present in the file into a

C# | How to use Interface references

In C#, you’re permitted to make a reference variable of an interface type or in other words, you’re permitted to form an interface reference variable. Such kind of variable can