0
0
C Sharp (C#)programming~20 mins

Optional parameters in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Optional Parameters Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of method with optional parameters
What is the output of this C# code when calling Greet() without arguments?
C Sharp (C#)
using System;
class Program {
    static void Greet(string name = "Guest", int times = 1) {
        for (int i = 0; i < times; i++) {
            Console.WriteLine($"Hello, {name}!");
        }
    }
    static void Main() {
        Greet();
    }
}
AHello, Guest!
BHello, !
CHello, Guest!\nHello, Guest!
DCompilation error
Attempts:
2 left
💡 Hint
Check the default values of the parameters in the method signature.
Predict Output
intermediate
2:00remaining
Output with named and optional parameters
What is the output of this code snippet?
C Sharp (C#)
using System;
class Program {
    static void Display(string message = "Hi", int count = 2) {
        for (int i = 0; i < count; i++) {
            Console.WriteLine(message);
        }
    }
    static void Main() {
        Display(count: 3);
    }
}
A3\n3\n3
BHi\nHi
CHi\nHi\nHi
DCompilation error
Attempts:
2 left
💡 Hint
Named parameters can be used to specify only some arguments.
🔧 Debug
advanced
2:00remaining
Identify the error with optional parameters
What error does this code produce when compiled?
C Sharp (C#)
class Program {
    static void Print(int x = 5, int y) {
        System.Console.WriteLine(x + y);
    }
    static void Main() {
        Print(3);
    }
}
ACS1501: No overload for method 'Print' takes 1 arguments
BNo error, outputs 8
CCS0120: An object reference is required for the non-static field
DCS1737: Optional parameters must appear after all required parameters
Attempts:
2 left
💡 Hint
Check the order of optional and required parameters in method signature.
Predict Output
advanced
2:00remaining
Output with multiple optional parameters and named arguments
What is the output of this program?
C Sharp (C#)
using System;
class Program {
    static void Info(string name = "Unknown", int age = 0, string city = "Nowhere") {
        Console.WriteLine($"Name: {name}, Age: {age}, City: {city}");
    }
    static void Main() {
        Info(city: "Paris", name: "Alice");
    }
}
AName: Alice, Age: 0, City: Paris
BName: Unknown, Age: 0, City: Paris
CName: Alice, Age: 0, City: Nowhere
DCompilation error due to argument order
Attempts:
2 left
💡 Hint
Named arguments can be passed in any order.
🧠 Conceptual
expert
2:00remaining
Behavior of optional parameters with method overloading
Given these two methods, what happens when Test(5) is called?
C Sharp (C#)
class Program {
    static void Test(int x, int y = 10) {
        System.Console.WriteLine($"Method1: x={x}, y={y}");
    }
    static void Test(int x) {
        System.Console.WriteLine($"Method2: x={x}");
    }
    static void Main() {
        Test(5);
    }
}
AMethod1: x=5, y=10
BMethod2: x=5
CCompilation error due to ambiguous call
DRuntime error
Attempts:
2 left
💡 Hint
Consider how C# resolves overloaded methods with optional parameters.