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

Method declaration and calling in C Sharp (C#) - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Method declaration and calling
O(n)
Understanding Time Complexity

When we declare and call a method, it is important to know how the time it takes grows as we use it more.

We want to find out how the number of steps changes when the method is called.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


public void PrintNumbers(int n)
{
    for (int i = 0; i < n; i++)
    {
        Console.WriteLine(i);
    }
}

PrintNumbers(5);

This code defines a method that prints numbers from 0 up to n-1, then calls it with 5.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for-loop that runs from 0 to n-1.
  • How many times: It runs exactly n times, once for each number.
How Execution Grows With Input

As n grows, the number of times the loop runs grows the same way.

Input Size (n)Approx. Operations
1010 times printing
100100 times printing
10001000 times printing

Pattern observation: The work grows directly with n, so doubling n doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time it takes grows in a straight line as the input number n grows.

Common Mistake

[X] Wrong: "Calling a method once always takes the same time, no matter what the input is."

[OK] Correct: The method's time depends on what it does inside. If it loops n times, bigger n means more time.

Interview Connect

Understanding how method calls affect time helps you explain your code clearly and shows you know how programs grow with input size.

Self-Check

"What if the method called itself inside (recursion) instead of using a loop? How would the time complexity change?"

Practice

(1/5)
1. What is the correct way to declare a method named Greet that returns nothing and takes no parameters in C#?
easy
A. public Greet() void { }
B. void Greet[] { }
C. void Greet { }
D. public void Greet() { }

Solution

  1. Step 1: Understand method declaration syntax

    A method declaration starts with an access modifier (like public), then the return type (void means no return), then the method name, and parentheses for parameters.
  2. Step 2: Check each option's syntax

    public void Greet() { } correctly uses 'public void Greet() { }'. Options A, B, and D have syntax errors like wrong brackets or missing parentheses.
  3. Final Answer:

    public void Greet() { } -> Option D
  4. Quick Check:

    Method declaration = public void Greet() { } [OK]
Hint: Method syntax: access + return type + name + parentheses [OK]
Common Mistakes:
  • Using square brackets [] instead of parentheses ()
  • Omitting parentheses after method name
  • Placing return type after method name
2. Which of the following is the correct way to call a method named CalculateSum that takes two integers as parameters?
easy
A. CalculateSum 5, 10;
B. CalculateSum[5, 10];
C. CalculateSum(5, 10);
D. CalculateSum{5, 10};

Solution

  1. Step 1: Recall method call syntax

    To call a method, use its name followed by parentheses containing arguments separated by commas.
  2. Step 2: Evaluate each option

    CalculateSum(5, 10); uses parentheses correctly. Options B, C, and D use incorrect brackets or omit parentheses, causing syntax errors.
  3. Final Answer:

    CalculateSum(5, 10); -> Option C
  4. Quick Check:

    Method call = name + parentheses + arguments [OK]
Hint: Call methods with parentheses and comma-separated arguments [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Omitting parentheses when calling methods
  • Using curly braces for method calls
3. What will be the output of the following C# code?
public class Program {
  public static int Double(int x) {
    return x * 2;
  }
  public static void Main() {
    int result = Double(4);
    Console.WriteLine(result);
  }
}
medium
A. 8
B. 4
C. 16
D. Compilation error

Solution

  1. Step 1: Understand the method Double

    The method takes an integer x and returns x multiplied by 2.
  2. Step 2: Trace the method call in Main

    Double(4) returns 4 * 2 = 8, which is stored in result and printed.
  3. Final Answer:

    8 -> Option A
  4. Quick Check:

    Double(4) = 8 [OK]
Hint: Multiply input by 2, then print result [OK]
Common Mistakes:
  • Confusing return value with input
  • Expecting 16 by squaring instead of doubling
  • Thinking method does not return a value
4. Identify the error in the following method declaration and fix it:
public int AddNumbers(int a, int b) {
  int sum = a + b;
}
medium
A. Add a return statement: return sum;
B. Change method return type to void
C. Remove parameters from method
D. Add semicolon after method name

Solution

  1. Step 1: Check method return type and body

    The method declares it returns an int but does not return any value.
  2. Step 2: Fix by adding a return statement

    Adding return sum; returns the calculated value, matching the return type.
  3. Final Answer:

    Add a return statement: return sum; -> Option A
  4. Quick Check:

    Return value needed for non-void methods [OK]
Hint: Non-void methods must return a value [OK]
Common Mistakes:
  • Forgetting to return a value in non-void methods
  • Changing return type incorrectly
  • Removing parameters unnecessarily
5. You want to create a method IsEven that returns true if a number is even, otherwise false. Which of the following is the correct method declaration and call to check if 7 is even?
hard
A. public bool IsEven(int num) { if(num / 2 == 0) return true; else return false; } ... bool result = IsEven(7);
B. public bool IsEven(int num) { return num % 2 == 0; } ... bool result = IsEven(7);
C. public void IsEven(int num) { if(num % 2 == 0) return true; else return false; } ... bool result = IsEven(7);
D. public int IsEven(int num) { return num % 2; } ... int result = IsEven(7);

Solution

  1. Step 1: Check method return type and logic

    Method should return bool and use modulo (%) to check evenness. public bool IsEven(int num) { return num % 2 == 0; } ... bool result = IsEven(7); correctly returns true if remainder is 0.
  2. Step 2: Verify method call and variable type

    public bool IsEven(int num) { return num % 2 == 0; } ... bool result = IsEven(7); calls IsEven(7) and stores result in a bool variable, matching the method return type.
  3. Final Answer:

    public bool IsEven(int num) { return num % 2 == 0; } ... bool result = IsEven(7); -> Option B
  4. Quick Check:

    Use modulo and bool return for even check [OK]
Hint: Use 'return num % 2 == 0;' for even check [OK]
Common Mistakes:
  • Using division instead of modulo for even check
  • Returning int instead of bool
  • Declaring method void but trying to return a value
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard