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

Class declaration syntax in C Sharp (C#)

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
Introduction

A class groups related data and actions together. It helps organize code like a blueprint for objects.

When you want to model a real-world thing with properties and behaviors.
When you need to create multiple similar objects with shared structure.
When organizing code into logical units for easier understanding and reuse.
When building programs that use object-oriented design.
When you want to hide details and expose only what is needed.
Syntax
C Sharp (C#)
class ClassName
{
    // Fields, properties, methods, constructors
}

Class names usually start with a capital letter.

Curly braces { } define the class body where you put data and actions.

Examples
Simple class named Car with no content yet.
C Sharp (C#)
class Car
{
    // Car details go here
}
Class Person with two fields: Name and Age.
C Sharp (C#)
class Person
{
    public string Name;
    public int Age;
}
Class Dog with a method Bark that prints a sound.
C Sharp (C#)
class Dog
{
    public void Bark()
    {
        Console.WriteLine("Woof!");
    }
}
Sample Program

This program defines a Book class with two fields and a method to show info. In Main, it creates a book object, sets its data, and prints it.

C Sharp (C#)
using System;

class Book
{
    public string Title;
    public string Author;

    public void DisplayInfo()
    {
        Console.WriteLine($"Title: {Title}, Author: {Author}");
    }
}

class Program
{
    static void Main()
    {
        Book myBook = new Book();
        myBook.Title = "The Little Prince";
        myBook.Author = "Antoine de Saint-Exupéry";
        myBook.DisplayInfo();
    }
}
OutputSuccess
Important Notes

Class members can be fields (data) or methods (actions).

Use public to allow access from outside the class.

Classes are templates; you create objects (instances) from them.

Summary

Classes group data and behavior into one unit.

Use class ClassName { } to declare a class.

Inside, define fields and methods to describe the object.

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