C# | Literals

The fixed values are called as Literal. Literal is a value which is used by the variables. Values can be either an integer, float or string etc.

// Here 100 is a constant/literal.
int x = 100; 

Literals can be of following types:

  • Integer Literals
  • Floating-point Literals
  • Character Literals
  • String Literals
  • Null Literals
  • Boolean Literals

Integer Literals: A literal of integer type is know as the integer literal. It can be octal, decimal or hexadecimal constant. No prefix is required for the decimal numbers. A suffix can also be used with the integer literals like U or u are used for unsigned numbers while l or L are used for long numbers. By default, every literal is of int type. For Integral data types (byte, short, int, long), we can specify literals in 3 ways:

  1. Decimal literals (Base 10) : In this form the allowed digits are 0-9.
    int x = 101;
    
  2. Octal literals (Base 8) : In this form the allowed digits are 0-7.
    // The octal number should be prefix with 0.
    int x = 0146; 
    
  3. Hexa-decimal literals (Base 16) : In this form the allowed digits are 0-9 and characters are a-f. We can use both uppercase and lowercase characters. As we know that c# is a case-sensitive programming language but here c# is not case-sensitive.
    // The hexa-decimal number should be prefix
    // with 0X or 0x.
    int x = 0X123Face; 
    

Examples:

07778    // invalid: 8 is not an octal digit 
045uu    // invalid: suffix (u) is repeated
456    // valid decimal literal
02453    // valid octal literal 
0x65d    // valid hexadecimal literal 
12356    // valid int literal 
304U    // valid unsigned int literal 
3078L    // valid long literal 
965UL    // valid unsigned long literal 

Program:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the use of Integer Literals
using System;
  
class Geeks {
      
    // Main method
    public static void Main(String []args)
    {
        // decimal-form literal
        int a = 101; 
          
        // octal-form literal
        int b = 0145; 
          
        // Hexa-decimal form literal
        int c = 0xFace; 
          
        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
    }
}

chevron_right


101
145
64206


Floating-point Literals: The literal which has an integer part, a decimal point, a fractional part and an exponent part is known as the floating point literal. These can be represented either in decimal form or exponential form.

Examples:

Double d = 3.14145       // Valid
Double d = 312569E-5      // Valid
Double d = 125E             // invalid: Incomplete exponent 
Double d = 784f            // valid
Double d = .e45           // invalid: missing integer or fraction

Program:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the use of 
// floating-point literals
using System;
  
class Geeks {
      
    // Main Method
    public static void Main(String []args)
    {
        // decimal-form literal
        double a = 101.230; 
          
        // It also acts as decimal literal
        double b = 0123.222; 
          
        Console.WriteLine(a);
        Console.WriteLine(b);
    }
}

chevron_right


Output:

101.23
123.222

Note: By default, every floating-point literal is of double type and hence we can’t assign directly to float variable. But we can specify floating-point literal as float type by suffixed with f or F. We can specify explicitly floating point literal as the double type by suffixed with d or D, of course, this convention is not required.



Character Literals: For character data types we can specify literals in 3 ways:

  1. Single quote : We can specify literal to char data type as single character within single quote.
    char ch = 'a';
    
  2. Unicode Representation : We can specify char literals in Unicode representation ‘\uxxxx’. Here xxxx represents 4 hexadecimal numbers.
    char ch = '\u0061';// Here /u0061 represent a.
    
  3. Escape Sequence : Every escape character can be specify as char literals.
    char ch = '\n';
    
    Escape Sequence Meaning
    \\ \ character
    \’ ‘ character
    \? ? character
    \” ” character
    \b Backspace
    \a Alert or Bell
    \n New Line
    \f Form Feed
    \r Carriage Return
    \v Vertical Tab
    \xhh… Hexadecimal number of one or more digits

Example :

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the use of char literals
using System;
  
class Geeks {
      
// Main Method
public static void Main(String []args)
    {
          
        // character literal within single quote
        char ch = 'a'
          
        // Unicode representation
        char c = '\u0061'
          
        Console.WriteLine(ch);
        Console.WriteLine(c);
          
        // Escape character literal
        Console.WriteLine("Hello\n\nGeeks\t!");
    }
}

chevron_right


a
a
Hello

Geeks    !


String Literals: Literals which are enclosed in double quotes(“”) or starts with @”” are known as the String literals.

Examples:

String s1 = "Hello Geeks!";

String s2 = @"Hello Geeks!";

Program:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C#  program to illustrate the use of String literals
using System;
  
class Geeks {
      
    // Main Method
    public static void Main(String []args)
    {
          
        String s = "Hello Geeks!";
        String s2 = @"Hello Geeks!";
  
        // If we assign without "" then it 
        // treats as a variable
        // and causes compiler error
        // String s1 = Geeks;
          
        Console.WriteLine(s);
        Console.WriteLine(s2);
          
    }
}

chevron_right


Output:

Hello Geeks!
Hello Geeks!


Boolean Literals: Only two values are allowed for Boolean literals i.e. true and false.

Example:

bool b = true;
bool c = false

Program:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the use
// of boolean literals
using System;
  
class Geeks {
      
    // Main Method
    public static void Main(String []args)
    {
        bool b = true;
        bool c = false;
          
        // these will give compile time error
        // bool d = 0;
        // bool e = 1;
        // Console.WriteLine(d);
        // Console.WriteLine(e);
          
        Console.WriteLine(b);
        Console.WriteLine(c);
    }
}

chevron_right


Output:

True
False


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

2


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.