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

Constructors and initialization in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a constructor in C#?
A constructor is a special method in a class that runs automatically when an object is created. It sets up the object with initial values.
Click to reveal answer
beginner
How do you define a constructor in a C# class?
You define a constructor by creating a method with the same name as the class and no return type. For example: <pre>public class Car { public Car() { } }</pre>
Click to reveal answer
beginner
What is the purpose of constructor parameters?
Constructor parameters let you pass values when creating an object, so you can set different initial states for each object.
Click to reveal answer
intermediate
What happens if you don't define a constructor in a C# class?
C# provides a default parameterless constructor automatically, which initializes fields to default values like 0 or null.
Click to reveal answer
intermediate
Explain constructor chaining in C#.
Constructor chaining means calling one constructor from another in the same class using the <code>: this(...)</code> syntax to reuse initialization code.
Click to reveal answer
What is the name of a constructor in C#?
AInit
BSame as the class name
CMain
DConstructor
What does a parameterless constructor do?
ARequires parameters to create an object
BCannot be used in C#
CInitializes object with default values
DDeletes the object
How do you call one constructor from another in the same class?
AUsing new keyword
BUsing base keyword
CUsing super()
DUsing : this(...) syntax
What happens if you define a constructor with parameters but no parameterless constructor?
ANo default constructor is created automatically
BParameterless constructor is still created
CClass cannot be instantiated
DCompiler error always occurs
Which of these is NOT true about constructors?
AConstructors can be called like normal methods
BConstructors can be overloaded
CConstructors have no return type
DConstructors initialize new objects
Describe what a constructor is and why it is useful in C#.
Think about how you prepare a new object when you make it.
You got /4 concepts.
    Explain constructor chaining and give an example of when you might use it.
    Imagine you want to avoid repeating code in multiple constructors.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a constructor in a C# class?
      easy
      A. To define methods that return values
      B. To declare variables inside a class
      C. To initialize new objects with starting values
      D. To inherit properties from another class

      Solution

      1. Step 1: Understand what constructors do

        Constructors are special methods that run when an object is created to set initial values.
      2. Step 2: Compare options with constructor purpose

        Only To initialize new objects with starting values describes initializing new objects, which matches the constructor's role.
      3. Final Answer:

        To initialize new objects with starting values -> Option C
      4. Quick Check:

        Constructor purpose = initialize objects [OK]
      Hint: Constructors set initial values when creating objects [OK]
      Common Mistakes:
      • Confusing constructors with regular methods
      • Thinking constructors return values
      • Mixing constructors with inheritance
      2. Which of the following is the correct syntax for a constructor in C# for a class named Car?
      easy
      A. public Car() { }
      B. void Car() { }
      C. public void Car() { }
      D. public Car(void) { }

      Solution

      1. Step 1: Recall constructor syntax rules

        Constructors have the same name as the class and no return type, but must have an access modifier like public.
      2. Step 2: Check each option

        public Car() { } matches: public + class name + parentheses + no return type. Others have void return or wrong syntax.
      3. Final Answer:

        public Car() { } -> Option A
      4. Quick Check:

        Constructor syntax = public ClassName() [OK]
      Hint: Constructor name = class name, no return type [OK]
      Common Mistakes:
      • Adding a return type like void
      • Using incorrect parameter syntax
      • Omitting access modifier
      3. What will be the output of the following C# code?
      class Person {
        public string Name;
        public Person(string name) {
          Name = name;
        }
      }
      
      var p = new Person("Anna");
      Console.WriteLine(p.Name);
      medium
      A. Compilation error
      B. Anna
      C. null
      D. Name

      Solution

      1. Step 1: Understand constructor usage

        The constructor sets the Name field to the passed string "Anna" when creating the Person object.
      2. Step 2: Check output of Console.WriteLine

        Since p.Name was set to "Anna", printing p.Name outputs "Anna".
      3. Final Answer:

        Anna -> Option B
      4. Quick Check:

        Constructor sets Name = "Anna" so output = Anna [OK]
      Hint: Constructor sets fields; output shows assigned value [OK]
      Common Mistakes:
      • Assuming default null value instead of assigned
      • Confusing field name with value
      • Expecting compilation error due to constructor
      4. Identify the error in this C# class constructor and how to fix it:
      class Book {
        public string Title;
        public Book(string title) {
          title = Title;
        }
      }
      medium
      A. Title should be private, not public
      B. Constructor name should be lowercase book
      C. Missing return type void in constructor
      D. The assignment is reversed; should be Title = title;

      Solution

      1. Step 1: Analyze the assignment inside constructor

        The code assigns title = Title, which sets the parameter to the field's value, not the other way around.
      2. Step 2: Correct the assignment direction

        It should assign the field Title to the parameter value: Title = title; to initialize properly.
      3. Final Answer:

        The assignment is reversed; should be Title = title; -> Option D
      4. Quick Check:

        Field = parameter to initialize correctly [OK]
      Hint: Assign field = parameter inside constructor [OK]
      Common Mistakes:
      • Reversing assignment direction
      • Changing constructor name incorrectly
      • Adding return type to constructor
      5. Given this class with two constructors:
      class Rectangle {
        public int Width, Height;
        public Rectangle() {
          Width = 1;
          Height = 1;
        }
        public Rectangle(int size) {
          Width = size;
          Height = size;
        }
      }
      
      var r1 = new Rectangle();
      var r2 = new Rectangle(5);
      Console.WriteLine(r1.Width + "," + r1.Height);
      Console.WriteLine(r2.Width + "," + r2.Height);

      What is the output?
      hard
      A. 1,1 5,5
      B. 0,0 5,5
      C. 1,1 1,1
      D. Compilation error due to constructor overload

      Solution

      1. Step 1: Understand constructor overloading

        The class has two constructors: one with no parameters sets Width and Height to 1; the other sets both to the given size.
      2. Step 2: Trace object creation and output

        r1 uses the no-parameter constructor, so Width=1, Height=1. r2 uses the int parameter constructor with 5, so Width=5, Height=5.
      3. Final Answer:

        1,1 5,5 -> Option A
      4. Quick Check:

        Overloaded constructors set different sizes correctly [OK]
      Hint: Overloaded constructors run based on arguments [OK]
      Common Mistakes:
      • Assuming default values are zero
      • Thinking constructor overload causes error
      • Mixing up which constructor runs