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

Namespaces and using directives in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Namespace Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of accessing classes with namespaces
What is the output of this C# program?
C Sharp (C#)
namespace Alpha {
    public class Printer {
        public static string Print() => "Alpha Printer";
    }
}

namespace Beta {
    public class Printer {
        public static string Print() => "Beta Printer";
    }
}

class Program {
    static void Main() {
        System.Console.WriteLine(Alpha.Printer.Print());
        System.Console.WriteLine(Beta.Printer.Print());
    }
}
ACompilation error due to ambiguous Printer class
BBeta Printer\nAlpha Printer
CAlpha Printer
DAlpha Printer\nBeta Printer
Attempts:
2 left
💡 Hint
Look at how fully qualified names are used to call Print methods.
Predict Output
intermediate
2:00remaining
Effect of using directive on ambiguous class names
Given these namespaces and using directives, what will be the output?
C Sharp (C#)
using Alpha;
using Beta;

namespace Alpha {
    public class Printer {
        public static string Print() => "Alpha Printer";
    }
}

namespace Beta {
    public class Printer {
        public static string Print() => "Beta Printer";
    }
}

class Program {
    static void Main() {
        System.Console.WriteLine(Printer.Print());
    }
}
ACompilation error due to ambiguous Printer
BBeta Printer
CAlpha Printer
DRuntime error
Attempts:
2 left
💡 Hint
Two namespaces contain Printer class, both imported with using.
Predict Output
advanced
2:00remaining
Using alias directive to resolve ambiguity
What is the output of this program using alias directives?
C Sharp (C#)
using A = Alpha.Printer;
using B = Beta.Printer;

namespace Alpha {
    public class Printer {
        public static string Print() => "Alpha Printer";
    }
}

namespace Beta {
    public class Printer {
        public static string Print() => "Beta Printer";
    }
}

class Program {
    static void Main() {
        System.Console.WriteLine(A.Print());
        System.Console.WriteLine(B.Print());
    }
}
ARuntime error
BBeta Printer\nAlpha Printer
CAlpha Printer\nBeta Printer
DCompilation error due to alias misuse
Attempts:
2 left
💡 Hint
Alias directives create shortcuts to fully qualified names.
Predict Output
advanced
2:00remaining
Namespace nesting and class access
What will this program print?
C Sharp (C#)
namespace Outer {
    public class Printer {
        public static string Print() => "Outer Printer";
    }
    namespace Inner {
        public class Printer {
            public static string Print() => "Inner Printer";
        }
    }
}

class Program {
    static void Main() {
        System.Console.WriteLine(Outer.Printer.Print());
        System.Console.WriteLine(Outer.Inner.Printer.Print());
    }
}
AInner Printer\nOuter Printer
BOuter Printer\nInner Printer
CCompilation error due to nested namespace
DRuntime error
Attempts:
2 left
💡 Hint
Nested namespaces are accessed by chaining names.
Predict Output
expert
2:00remaining
Using directives and static class members
What is the output of this program?
C Sharp (C#)
using static System.Math;

class Program {
    static void Main() {
        double x = 3.0;
        double y = Sqrt(x * x);
        System.Console.WriteLine(y);
    }
}
A3
B9
CCompilation error due to using static
DRuntime error
Attempts:
2 left
💡 Hint
using static allows calling static members without class name.