.NET interview questions: – Explain ENUM and its benefits? What is the use of Flagsin ENUM?

ENUM helps to define, manage and assign constants in effective way. Now the below sample code is good but the level values are not readable.

if (level == 0){Console.WriteLine("Below quality");}
else if (level == 1){Console.WriteLine("Moderate quality");}
else if(level == 2){Console.WriteLine("High quality");}

Now by declaring a simple ENUM called as Quality as shown below.

enum Quality
{
	Low = 0,
	Moderate = 1,
	High = 2
};

Our code would look more readable as shown below. The other big benefit is if we change the numeric values of quality we do not have to change throughout the project. So we can go a change the Low quality to 1 and no change in code is required.

if (level == Quality.Low){Console.WriteLine("Below quality");}
else if (level == Quality.Moderate){Console.WriteLine("Moderate 
quality");}
else if(level == Quality.High){Console.WriteLine("High quality");}

So summarizing ENUM has two big benefits:-

  • Code becomes more readable.
  • Easy to change constants without affecting throughout the project. Easy maintenance.

Uses of Flagsin ENUM:

“Flags” is an ENUM attribute. If you want to set multiple values to an ENUM we need to use Flags.

[Flags]
enum MyColors
{
Green = 0,
Red = 1,
Blue = 2
};

In the below code we are setting “MyColors” ENUM to “Blue” and “Green” value.

MyColors color = MyColors.Blue | MyColors.Green;
if ((color & MyColors.Blue) == MyColors.Blue)
{
	Console.WriteLine(" Blue");
}
if ((color & MyColors.Green) == MyColors.Green)
{
	Console.WriteLine(" Green");
}

Also see .NET interview questions video on difference between IEnumerable and IEnumerator: –

Advertisements

About c# and .NET Interview questions

This blog is for developers who want to crack .NET and C# interviews. It has all tips and tricks needed to crack .NET interviews , C# interview , SQL Server interview , Java interview , WCF Interview , Silverlight interview , WPF interview , LINQ interview , Entity framework Interview. Do not forget to watch our Learn step by step video series. Learn MVC in 16 hours:- https://www.youtube.com/watch?v=Lp7nSImO5vk Learn AngularJS Step by Step:- https://www.youtube.com/watch?v=0kmdjqgO9IY Learn Design Pattern in 8 hours:- https://www.youtube.com/watch?v=YDobmucohqk Learn C# and .NET in 60 days:- https://www.youtube.com/watch?v=yh2SrzCkNQA Learn MSBI in 32 hours:- https://www.youtube.com/watch?v=mGPJx3ocFgg Learn SharePoint Step by Step in 8 hours:- https://youtu.be/C2fW76SwJNU
This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s