Bird
Raised Fist0
C Sharp (C#)programming~10 mins

Underlying numeric values in C Sharp (C#) - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an enum named Color.

C Sharp (C#)
[1] Color { Red, Green, Blue }
Drag options to blanks, or click blank then click option'
Aclass
Benum
Cstruct
Dinterface
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'class' instead of 'enum' to declare an enumeration.
2fill in blank
medium

Complete the code to get the underlying numeric value of the enum member.

C Sharp (C#)
int value = (int)Color.[1];
Drag options to blanks, or click blank then click option'
ARed
BYellow
CPurple
DOrange
Attempts:
3 left
💡 Hint
Common Mistakes
Using a member name that does not exist in the enum.
3fill in blank
hard

Fix the error in the code to correctly cast the enum to its underlying value.

C Sharp (C#)
var number = [1]Color.Green;
Drag options to blanks, or click blank then click option'
A(int)
B(double)
C(string)
D(bool)
Attempts:
3 left
💡 Hint
Common Mistakes
Casting enum to a non-numeric type like string or bool.
4fill in blank
hard

Fill both blanks to create a dictionary mapping enum members to their numeric values.

C Sharp (C#)
var dict = new Dictionary<Color, int> { [1], [2] };
Drag options to blanks, or click blank then click option'
A{Color.Red, (int)Color.Red}
B{Color.Yellow, (int)Color.Yellow}
C{Color.Green, (int)Color.Green}
D{Color.Blue, (int)Color.Blue}
Attempts:
3 left
💡 Hint
Common Mistakes
Using enum members that do not exist.
Not casting enum members to int for values.
5fill in blank
hard

Fill all three blanks to create a LINQ expression mapping enum members to their numeric values if the value is greater than 0.

C Sharp (C#)
var result = Enum.GetValues(typeof(Color)).Cast<Color>().Where([3] => (int)[3] > 0).ToDictionary([1] => [1], [1] => [2]);
Drag options to blanks, or click blank then click option'
Acolor
B(int)color
CColor
Dvar
Attempts:
3 left
💡 Hint
Common Mistakes
Using the enum type name instead of a variable in the loop.
Not casting the enum member to int for the value.

Practice

(1/5)
1. What is the underlying numeric value of an enum member in C# if not explicitly set?
easy
A. It starts at 0 and increments by 1 for each member
B. It is always 1 for all members
C. It is a random number assigned by the compiler
D. It must be manually assigned for each member

Solution

  1. Step 1: Understand default enum numbering

    By default, C# assigns the first enum member the value 0.
  2. Step 2: Check subsequent members

    Each following member increments by 1 automatically unless explicitly set.
  3. Final Answer:

    It starts at 0 and increments by 1 for each member -> Option A
  4. Quick Check:

    Default enum values start at 0 and increment [OK]
Hint: Remember enums start at zero unless you say otherwise [OK]
Common Mistakes:
  • Thinking enums start at 1 by default
  • Assuming enum values are random
  • Believing manual assignment is always required
2. Which of the following is the correct way to get the numeric value of an enum member Day.Monday in C#?
easy
A. int value = Convert.ToInt32(Day.Monday.ToString());
B. int value = Day.Monday.ToInt();
C. int value = Day.Monday.Value;
D. int value = (int)Day.Monday;

Solution

  1. Step 1: Recall casting enum to int

    In C#, you get the numeric value by casting the enum member to int using (int).
  2. Step 2: Check other options

    Enums have no ToInt() method or Value property; Convert.ToInt32(Day.Monday.ToString()) parses the name ("Monday") and throws FormatException.
  3. Final Answer:

    int value = (int)Day.Monday; -> Option D
  4. Quick Check:

    Cast enum to int with (int) [OK]
Hint: Cast enum to int with (int) to get its number [OK]
Common Mistakes:
  • Using non-existent methods like ToInt()
  • Trying to access a Value property
  • Converting enum.ToString() to int (parses name)
3. Given the enum:
enum Color { Red = 3, Green, Blue }

What is the output of this code?
Console.WriteLine((int)Color.Green);
medium
A. 4
B. 3
C. 1
D. 0

Solution

  1. Step 1: Identify explicit enum value

    Color.Red is set to 3 explicitly.
  2. Step 2: Understand implicit increment

    Color.Green is next, so it gets 4 (3 + 1).
  3. Final Answer:

    4 -> Option A
  4. Quick Check:

    Enum increments from explicit value [OK]
Hint: Next enum value increments by 1 from previous explicit value [OK]
Common Mistakes:
  • Assuming Green is 1 by default
  • Thinking Green equals Red's value
  • Forgetting implicit increment after explicit value
4. What is wrong with this code snippet?
enum Status { Active = 1, Inactive = 1, Pending = 2 }
medium
A. Enum members cannot have duplicate values
B. Nothing is wrong; duplicate values are allowed
C. Enum members must be strings, not numbers
D. Enum members must be assigned sequentially starting at 0

Solution

  1. Step 1: Check enum value rules

    C# allows enum members to share the same underlying numeric value.
  2. Step 2: Verify other options

    Enum members can be numbers, do not need sequential values, and duplicates are allowed.
  3. Final Answer:

    Nothing is wrong; duplicate values are allowed -> Option B
  4. Quick Check:

    Duplicate enum values are valid in C# [OK]
Hint: Duplicate enum values are allowed in C# [OK]
Common Mistakes:
  • Thinking duplicate enum values cause errors
  • Believing enums must start at 0 and be sequential
  • Confusing enum members with strings
5. You have this enum:
enum Level { Low = 1, Medium = 5, High = 10 }

Which code correctly checks if an integer variable score matches any enum value?
hard
A. bool isMatch = score >= (int)Level.Low && score <= (int)Level.High;
B. bool isMatch = (Level)score != null;
C. bool isMatch = Enum.IsDefined(typeof(Level), score);
D. bool isMatch = score == Level.Low || score == Level.Medium || score == Level.High;

Solution

  1. Step 1: Understand Enum.IsDefined usage

    Enum.IsDefined checks if a given integer matches any enum member's underlying value.
  2. Step 2: Analyze other options

    A checks range (includes invalid like 2); B casts int to enum (always succeeds) != null (always true); C direct int == enum comparisons do not compile without casting enum to int.
  3. Final Answer:

    bool isMatch = Enum.IsDefined(typeof(Level), score); -> Option C
  4. Quick Check:

    Use Enum.IsDefined to check valid enum values [OK]
Hint: Use Enum.IsDefined to check if int matches enum value [OK]
Common Mistakes:
  • Casting int to enum without validation
  • Checking range instead of exact enum values
  • Comparing int directly to enum members without casting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard