C# Language Enum

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Extensions
> Step 2: And Like the video. BONUS: You can also share it!

Introduction

An enum can derive from any of the following types: byte, sbyte, short, ushort, int, uint, long, ulong. The default is int, and can be changed by specifying the type in the enum definition:

public enum Weekday : byte { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5 }

This is useful when P/Invoking to native code, mapping to data sources, and similar circumstances. In general, the default int should be used, because most developers expect an enum to be an int.

Syntax

  • enum Colors { Red, Green, Blue } // Enum declaration
  • enum Colors : byte { Red, Green, Blue } // Declaration with specific type
  • enum Colors { Red = 23, Green = 45, Blue = 12 } // Declaration with defined values
  • Colors.Red // Access an element of an Enum
  • int value = (int)Colors.Red // Get the int value of an enum element
  • Colors color = (Colors)intValue // Get an enum element from int

Remarks

An Enum (short for "enumerated type") is a type consisting of a set of named constants, represented by a type-specific identifier.

Enums are most useful for representing concepts that have a (usually small) number of possible discrete values. For example, they can be used to represent a day of the week or a month of the year. They can be also be used as flags which can be combined or checked for, using bitwise operations.



Got any C# Language Question?