C# Fundamentals for Absolute Beginners: (18) Understanding Namespaces and Adding References to Assemblies

Play C# Fundamentals for Absolute Beginners: (18) Understanding Namespaces and Adding References to Assemblies
Sign in to queue


In this lesson, we explain how Namespaces allow us to disambiguate classes that may share the same name. And we explain how the .NET Framework Class Library is so large that including all its classes in every application you write is a waste of system resources. Certain project templates include references to the typical assemblies required by a given type of application, and we demonstrate this by referencing a custom assembly of Bob's own design.

Full course outline:



Right click to download this episode

The Discussion

  • User profile image

    Hi Bob,

    Where can I download the Tabor.dll file from?


  • User profile image

    @gwkmah:in the zip of codes

  • User profile image

    @topgearlmh - maybe a noob question but where is said 'zip of codes' I dont see a link to it anywhere on this page

  • User profile image

    @gwkmah @topgearlmh Same here, can't see any zips on the page at all.

  • User profile image

    For the source code files, go to the older tutorial of C#... at this link: 


    and click on "Download the entire series' source code" link. Tabor.dll file is in C9CS_17 folder. 

    P.S. Bob, great series!  Thank you!!!

  • User profile image

    Hi Bob,

    To my understanding the entire concept of the 'using' statements is to save us from writing code as you demonstrated in the video.

    but i also noticed that you have the following statement in your example

    using System;
      but you still use the 'System' namespace in the following line of code:
    System.IO.StreamReader myStreamReader = new System.IO.StreamReader();

    why do you still need to use it if it is already declared in the beginning?



  • User profile image

    @TheSpecialist: Why do I still use it even though it is already declared in the beginning?  Good question.  The answer is the *technically* I don't have to.  However, *practically* I choose this "style" because it is expressive.  If you are new to .NET, it would still be obvious to you the full namespace where the:


    ... is coming from.  I am explicit in these cases for others who read my code (and heck, for myself ... I'll have to read that code again someday!)

    So, in short, it's simply a style preference.

  • User profile image

    Thx Bob, i used to have experience with java environment si i'm actually a newbie to .NET. Thank You very much for the great review od .NET framework and expecially a DLL file meaning :)

  • User profile image

    HI Bob,

    First of all thank you for such a interesting and detailed lessons for beginners! You are cool!

    I have 2 questions:

    1. if (Can I use .NET libraries when I work with Unity3D) how? ;

    2. how can we create our own libraries?

    Thank you!

  • User profile image


    Thanks for these tutorials. How would I include a source file I made, that exists in the same directory?

  • User profile image

    Hey thanks Bob for the awesome videos!! Just started learning about C# not too long ago.

  • User profile image
    Trent Favre

    Bob's the man.

  • User profile image
    Gopal Chandak

    Hey Bob,
    how can i get an integer or float input from the user.

  • User profile image
    John H

    Hi Bob, GReatVideos, its been one full weekand one day and im up to 18. Dont know where to download do i go toyour site.


  • User profile image

    Hi Bob,
    Thank you so much for all of your series of tutorials, I can't never get enough, even when repeating them over and over again I never get bored!
    My question is:" Can we consider namespaces in C# as Headers in C/C++?"

Add Your 2 Cents