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

Default values for types in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Default Value Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of default values for int and bool?
Consider the following C# code snippet. What will be printed when it runs?
C Sharp (C#)
int defaultInt = default;
bool defaultBool = default;
Console.WriteLine($"{defaultInt}, {defaultBool}");
Anull, False
B0, true
C0, False
Dnull, true
Attempts:
2 left
💡 Hint
Default value of int is zero and default value of bool is false.
❓ Predict Output
intermediate
2:00remaining
What is the default value of a reference type?
What will this C# code print?
C Sharp (C#)
string defaultString = default;
Console.WriteLine(defaultString == null ? "null" : defaultString);
Aempty string
Bnull
C0
Dthrows NullReferenceException
Attempts:
2 left
💡 Hint
Default value of reference types is null.
❓ Predict Output
advanced
2:00remaining
Default value of a struct with fields
Given this struct and code, what is the output?
C Sharp (C#)
struct Point { public int X; public int Y; }
Point p = default;
Console.WriteLine($"X={p.X}, Y={p.Y}");
AX=0, Y=0
BX=null, Y=null
CX=, Y=
DCompilation error
Attempts:
2 left
💡 Hint
Struct fields get default values too.
❓ Predict Output
advanced
2:00remaining
Default value of nullable types
What will this code print?
C Sharp (C#)
int? nullableInt = default;
Console.WriteLine(nullableInt.HasValue);
AFalse
BTrue
Cnull
DCompilation error
Attempts:
2 left
💡 Hint
Nullable types default to null, so HasValue is false.
🧠 Conceptual
expert
2:00remaining
Why does default(T) behave differently for value and reference types?
Which statement best explains the behavior of default(T) in C#?
AIt returns zero for all types because zero is the universal default.
BIt returns null for all types because all types are reference types.
CIt throws an exception if T is a reference type.
DIt returns the zero-equivalent for value types and null for reference types because of how memory is allocated.
Attempts:
2 left
💡 Hint
Think about how value and reference types store data differently.

Practice

(1/5)
1. What is the default value of an int type variable in C#?
easy
A. 0
B. null
C. 1
D. "" (empty string)

Solution

  1. Step 1: Understand default values for value types

    In C#, value types like int have a default value of zero when not initialized.
  2. Step 2: Recall default for int

    The default for int is 0, not null or any other value.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Default int = 0 [OK]
Hint: Remember: numbers default to zero in C# [OK]
Common Mistakes:
  • Thinking default int is null
  • Confusing default int with 1
  • Assuming default is empty string
2. Which of the following is the correct syntax to get the default value of a type T in C#?
easy
A. T.default()
B. default = T
C. default(T)
D. T.default

Solution

  1. Step 1: Recall C# syntax for default values

    The correct syntax to get the default value of a type T is default(T).
  2. Step 2: Check other options

    Options like T.default(), default = T, and T.default are invalid syntax in C#.
  3. Final Answer:

    default(T) -> Option C
  4. Quick Check:

    Use default(T) to get default value [OK]
Hint: Use default(Type) syntax to get default value [OK]
Common Mistakes:
  • Using invalid syntax like T.default()
  • Confusing assignment with default keyword
  • Trying to access default as a property
3. What will be the output of this C# code?
bool flag = default;
Console.WriteLine(flag);
medium
A. False
B. null
C. True
D. Compilation error

Solution

  1. Step 1: Understand default value of bool

    The default value of bool in C# is false.
  2. Step 2: Analyze the code output

    The variable flag is assigned default, so it holds false. Printing it outputs "False".
  3. Final Answer:

    False -> Option A
  4. Quick Check:

    Default bool = false [OK]
Hint: Default bool is always false, not true [OK]
Common Mistakes:
  • Assuming default bool is true
  • Expecting null for bool
  • Thinking code causes error
4. Identify the error in this C# code snippet:
string text = default;
int number = default;
Console.WriteLine(text.Length);
medium
A. Compile-time error on text.Length
B. No error, code runs fine
C. Syntax error on default keyword
D. NullReferenceException at runtime

Solution

  1. Step 1: Understand default for reference types

    For reference types like string, default is null.
  2. Step 2: Analyze accessing property on null

    Accessing text.Length when text is null causes a NullReferenceException at runtime.
  3. Final Answer:

    NullReferenceException at runtime -> Option D
  4. Quick Check:

    Default string = null; accessing Length causes error [OK]
Hint: Default reference types are null; accessing members causes errors [OK]
Common Mistakes:
  • Thinking default string is empty string
  • Expecting compile-time error instead of runtime
  • Ignoring null checks before member access
5. Given this struct and code:
struct Point { public int X; public int Y; }
Point p = default;
Console.WriteLine(p.X + "," + p.Y);

What is the output and why?
hard
A. Random values because struct fields are not set
B. 0,0 because struct fields default to zero
C. Compilation error because fields are uninitialized
D. null,null because struct is a reference type

Solution

  1. Step 1: Understand default for structs

    Structs are value types; their fields get default values when using default.
  2. Step 2: Default values of int fields in struct

    Both X and Y are int, so default is 0 for each.
  3. Step 3: Output concatenation

    Printing p.X + "," + p.Y outputs "0,0".
  4. Final Answer:

    0,0 because struct fields default to zero -> Option B
  5. Quick Check:

    Struct fields default to zero [OK]
Hint: Struct fields default to zero, not null [OK]
Common Mistakes:
  • Thinking structs are reference types
  • Expecting null values for struct fields
  • Assuming uninitialized fields cause errors
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