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

Integer types and their ranges 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 a variable of type int with the value 100.

C Sharp (C#)
int number = [1];
Drag options to blanks, or click blank then click option'
A100
B"100"
C100.0
D'100'
Attempts:
3 left
💡 Hint
Common Mistakes
Using quotes around the number, which makes it a string.
Using a decimal point, which makes it a floating-point number.
2fill in blank
medium

Complete the code to print the maximum value of a byte type.

C Sharp (C#)
Console.WriteLine(byte.[1]);
Drag options to blanks, or click blank then click option'
AMaxValue
BMinValue
CMax
DMaximum
Attempts:
3 left
💡 Hint
Common Mistakes
Using MinValue instead of MaxValue.
Using incorrect property names like Max or Maximum.
3fill in blank
hard

Fix the error in the code by choosing the correct type for a large integer value.

C Sharp (C#)
long bigNumber = [1];
Drag options to blanks, or click blank then click option'
A2147483649L
B2147483648
C2147483648L
D2147483647
Attempts:
3 left
💡 Hint
Common Mistakes
Not adding 'L' suffix for long literals.
Using values within int range without suffix.
4fill in blank
hard

Fill both blanks to create a dictionary mapping integer types to their size in bytes.

C Sharp (C#)
var sizes = new Dictionary<string, int> { {"int", [1], {"long", [2] };
Drag options to blanks, or click blank then click option'
A4
B8
C2
D16
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the sizes of int and long.
Using sizes for other types like short or byte.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps integer types to their max values if the max value is greater than 1000.

C Sharp (C#)
var maxValues = new Dictionary<string, long> { {"int", [1], {"short", [2], {"long", [3] }.Where(kv => kv.Value > 1000).ToDictionary(kv => kv.Key, kv => kv.Value);
Drag options to blanks, or click blank then click option'
Aint.MaxValue
Bshort.MaxValue
Clong.MaxValue
Dbyte.MaxValue
Attempts:
3 left
💡 Hint
Common Mistakes
Using byte.MaxValue which is less than 1000.
Not using the MaxValue property.

Practice

(1/5)
1. Which C# integer type can store values from -128 to 127?
easy
A. int
B. byte
C. short
D. sbyte

Solution

  1. Step 1: Recall the range of sbyte

    The sbyte type stores signed 8-bit integers from -128 to 127.
  2. Step 2: Compare with other types

    byte stores 0 to 255 (unsigned), short stores -32,768 to 32,767, and int stores much larger values.
  3. Final Answer:

    sbyte -> Option D
  4. Quick Check:

    Range -128 to 127 = sbyte [OK]
Hint: Remember sbyte is signed 8-bit: -128 to 127 [OK]
Common Mistakes:
  • Confusing byte (unsigned) with sbyte
  • Choosing short which has a larger range
  • Assuming int is smallest
2. Which of the following is the correct way to declare a variable of type uint in C#?
easy
A. uint number = -1;
B. uint number = 4294967295;
C. uint number = 4294967296;
D. uint number = 3.14;

Solution

  1. Step 1: Understand uint range

    uint is unsigned 32-bit integer with range 0 to 4,294,967,295.
  2. Step 2: Check each assignment

    uint number = -1; assigns -1 (negative) which is invalid. uint number = 4294967295; assigns max valid value 4,294,967,295. uint number = 4294967296; assigns 4,294,967,296 which is too large. uint number = 3.14; assigns a decimal which is invalid for integer type.
  3. Final Answer:

    uint number = 4294967295; -> Option B
  4. Quick Check:

    uint max = 4294967295 [OK]
Hint: uint stores 0 to 4,294,967,295 only [OK]
Common Mistakes:
  • Assigning negative values to unsigned types
  • Using values larger than max range
  • Assigning decimal numbers to integer types
3. What will be the output of this C# code?
short a = 30000;
short b = 10000;
int c = a + b;
Console.WriteLine(c);
medium
A. 40000
B. -25536
C. OverflowException
D. Compile-time error

Solution

  1. Step 1: Understand variable types and addition

    Variables a and b are short (16-bit signed), but addition promotes them to int automatically.
  2. Step 2: Calculate the sum and output

    30000 + 10000 = 40000 fits in int range, so c stores 40000 and prints it.
  3. Final Answer:

    40000 -> Option A
  4. Quick Check:

    30000 + 10000 = 40000 [OK]
Hint: short addition promotes to int, no overflow here [OK]
Common Mistakes:
  • Expecting overflow because sum exceeds short max
  • Thinking addition stays in short type
  • Confusing runtime overflow with compile error
4. Identify the error in this C# code snippet:
byte x = 255;
byte y = 1;
byte z = (byte)(x + y);
Console.WriteLine(z);
medium
A. Output is 0 due to overflow wrap-around
B. Compile-time error due to overflow
C. No error, output is 256
D. Runtime exception thrown

Solution

  1. Step 1: Analyze addition and casting

    Addition of x + y is done as int (255 + 1 = 256). Casting to byte truncates to 8 bits.
  2. Step 2: Understand overflow wrap-around

    Since byte max is 255, 256 wraps around to 0 due to overflow without exception.
  3. Final Answer:

    Output is 0 due to overflow wrap-around -> Option A
  4. Quick Check:

    256 mod 256 = 0 [OK]
Hint: Casting int > 255 to byte wraps around [OK]
Common Mistakes:
  • Expecting output 256 which is invalid for byte
  • Thinking compile or runtime error occurs
  • Ignoring overflow wrap-around behavior
5. You need to store the population of a city which can be up to 5 billion. Which C# integer type should you use to avoid overflow?
hard
A. int
B. uint
C. long
D. short

Solution

  1. Step 1: Check the required range

    5 billion is 5,000,000,000 which exceeds int max (2,147,483,647) and uint max (4,294,967,295).
  2. Step 2: Choose type with sufficient range

    long is a signed 64-bit integer with range ±9 quintillion, enough to store 5 billion safely.
  3. Final Answer:

    long -> Option C
  4. Quick Check:

    5 billion < long max [OK]
Hint: Use long for numbers bigger than int or uint max [OK]
Common Mistakes:
  • Choosing int or uint which are too small
  • Using short which is very small
  • Not considering signed vs unsigned range
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