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

Class declaration syntax in C Sharp (C#) - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Class Syntax Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of a simple class instance property
What is the output of this C# code?
C Sharp (C#)
class Person {
    public string Name = "Alice";
}

var p = new Person();
Console.WriteLine(p.Name);
Anull
BName
CAlice
DPerson
Attempts:
2 left
💡 Hint
Look at the value assigned to the Name field inside the Person class.
📝 Syntax
intermediate
2:00remaining
Identify the syntax error in class declaration
Which option contains a syntax error in the class declaration?
Aclass Plane { public void Fly() { Console.WriteLine("Flying"); } }
Bclass Bike { private string model; }
Cpublic class Car { public int Speed; }
Dpublic sealed class Boat { }
Attempts:
2 left
💡 Hint
Check if all braces are properly closed.
🔧 Debug
advanced
2:00remaining
Why does this class instantiation cause an error?
What error will this code produce and why?
C Sharp (C#)
class Animal {
    private Animal() { }
}

var a = new Animal();
ACompile-time error: Missing semicolon
BCompile-time error: 'Animal.Animal()' is inaccessible due to its protection level
CNo error, outputs 'Animal created'
DRuntime error: NullReferenceException
Attempts:
2 left
💡 Hint
Check the accessibility of the constructor.
🧠 Conceptual
advanced
2:00remaining
Effect of 'sealed' keyword on class inheritance
What happens if you try to inherit from a sealed class in C#?
C Sharp (C#)
sealed class Vehicle { }
class Car : Vehicle { }
ACar inherits Vehicle successfully
BRuntime error: InvalidCastException
CWarning but compiles and runs
DCompile-time error: cannot derive from sealed type 'Vehicle'
Attempts:
2 left
💡 Hint
The sealed keyword prevents inheritance.
🚀 Application
expert
2:00remaining
Number of members in a class with properties and methods
How many members does this class have?
C Sharp (C#)
public class Calculator {
    public int Add(int a, int b) => a + b;
    public int Subtract(int a, int b) => a - b;
    public int Result { get; private set; }
    private void Reset() { Result = 0; }
}
A4
B3
C5
D6
Attempts:
2 left
💡 Hint
Count all methods and properties declared inside the class.

Practice

(1/5)
1. What is the correct way to declare a class named Car in C#?
easy
A. Car class { }
B. class Car { }
C. class = Car { }
D. class: Car { }

Solution

  1. Step 1: Understand class declaration syntax

    In C#, a class is declared using the keyword class followed by the class name and curly braces.
  2. Step 2: Match the correct syntax

    class Car { } uses class Car { }, which is the correct syntax for declaring a class named Car.
  3. Final Answer:

    class Car { } -> Option B
  4. Quick Check:

    Class declaration = class ClassName { } [OK]
Hint: Remember: class keyword + name + braces [OK]
Common Mistakes:
  • Putting class name before keyword
  • Using = or : instead of space
  • Missing curly braces
2. Which of the following is a syntax error when declaring a class in C#?
easy
A. public class Person { }
B. class Animal { }
C. class 123Car { }
D. internal class House { }

Solution

  1. Step 1: Check class name rules

    Class names must start with a letter or underscore, not a number.
  2. Step 2: Identify invalid class name

    class 123Car { } uses class 123Car { }, which starts with digits, causing a syntax error.
  3. Final Answer:

    class 123Car { } -> Option C
  4. Quick Check:

    Class names cannot start with numbers [OK]
Hint: Class names must start with letter or underscore [OK]
Common Mistakes:
  • Starting class name with a digit
  • Using spaces in class name
  • Using reserved keywords as class names
3. What will be the output of the following code?
class Dog {
  public string Name = "Buddy";
}

class Program {
  static void Main() {
    Dog d = new Dog();
    System.Console.WriteLine(d.Name);
  }
}
medium
A. Buddy
B. Name
C. Dog
D. Compilation error

Solution

  1. Step 1: Understand class field initialization

    The class Dog has a public field Name initialized to "Buddy".
  2. Step 2: Trace the program output

    In Main, a Dog object is created and d.Name is printed, so output is "Buddy".
  3. Final Answer:

    Buddy -> Option A
  4. Quick Check:

    Field value printed = Buddy [OK]
Hint: Prints field value assigned in class [OK]
Common Mistakes:
  • Confusing class name with field value
  • Expecting method output instead of field
  • Assuming compilation error without reason
4. Identify the error in this class declaration:
class Book
{
  string title;
  void SetTitle(string t)
  {
    title = t;
  }
}
medium
A. Missing access modifiers for field and method
B. Class name should be lowercase
C. Method SetTitle must return a value
D. Field title must be static

Solution

  1. Step 1: Check access modifiers in class members

    By default, class members are private, but it's good practice to specify access modifiers explicitly.
  2. Step 2: Identify missing access modifiers

    Field title and method SetTitle lack access modifiers like private or public, which can cause confusion or errors in some contexts.
  3. Final Answer:

    Missing access modifiers for field and method -> Option A
  4. Quick Check:

    Always specify access modifiers [OK]
Hint: Always add public/private to fields and methods [OK]
Common Mistakes:
  • Assuming lowercase class names are required
  • Thinking void methods must return a value
  • Believing fields must be static
5. You want to create a class Student with a field name and a method GetName that returns the student's name. Which is the correct complete class declaration?
hard
A. class Student { public string name; public void GetName() { return name; } }
B. class Student { string name; string GetName() { name; } }
C. class Student { public string name; string GetName() { return name; } }
D. class Student { public string name; public string GetName() { return name; } }

Solution

  1. Step 1: Check field and method access modifiers

    The field name and method GetName should be public to be accessible outside the class.
  2. Step 2: Verify method return type and body

    GetName returns a string, so its return type must be string and it must return name.
  3. Step 3: Identify correct option

    class Student { public string name; public string GetName() { return name; } } correctly declares name as public string and GetName as public string method returning name.
  4. Final Answer:

    class Student { public string name; public string GetName() { return name; } } -> Option D
  5. Quick Check:

    Public field + public string method returning field [OK]
Hint: Method return type must match returned value type [OK]
Common Mistakes:
  • Missing return statement in method
  • Wrong method return type (void instead of string)
  • Missing public keyword for accessibility