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

Implicit typing with var keyword in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the var keyword do in C#?
The var keyword lets the compiler automatically figure out the variable's type based on the value you assign to it. This is called implicit typing.
Click to reveal answer
beginner
Can you use var without assigning a value right away?
No. When you use var, you must assign a value immediately so the compiler can determine the type.
Click to reveal answer
beginner
What type will this variable have?
var number = 10;
The variable number will be of type int because 10 is an integer.
Click to reveal answer
intermediate
Is var the same as object type?
No. var is not a type itself. It tells the compiler to use the actual type of the assigned value. object is a specific type that can hold any data but is less specific.
Click to reveal answer
intermediate
Why might you want to use var instead of explicitly writing the type?
Using var can make code cleaner and easier to read, especially when the type is obvious or very long to write. It also helps when the exact type is complex or anonymous.
Click to reveal answer
What happens if you write var x; without assigning a value?
Ax is null by default
Bx becomes an object type
CCompiler error because type cannot be inferred
Dx is dynamic type
What type does var name = "hello"; create?
Astring
Bobject
Cvar
Dchar[]
Which of these is a benefit of using var?
AIt makes code shorter and easier to read
BIt disables type checking
CIt makes variables dynamic
DIt allows variables to change type later
Is this code valid?
var list = new List<int>();
AYes, but list will be of type object
BYes, the compiler infers the type List<int>
CNo, you must specify the type explicitly
DNo, var cannot be used with generic types
Which statement about var is false?
A<code>var</code> can only be used for local variables
B<code>var</code> requires immediate assignment
C<code>var</code> is resolved at compile time
D<code>var</code> variables can change type after assignment
Explain how the var keyword works in C# and when you should use it.
Think about how the compiler figures out the type and why it helps.
You got /4 concepts.
    Describe the differences between var and object types in C#.
    Consider how the compiler treats each and what happens at runtime.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the var keyword do in C#?
      easy
      A. It lets the compiler decide the variable's type based on the assigned value.
      B. It declares a variable without assigning any value.
      C. It forces the variable to be of type var.
      D. It creates a constant variable that cannot be changed.

      Solution

      1. Step 1: Understand the purpose of var

        The var keyword tells the compiler to infer the variable type from the value assigned.
      2. Step 2: Compare options with this understanding

        Only It lets the compiler decide the variable's type based on the assigned value. correctly describes this behavior. Other options misunderstand var usage.
      3. Final Answer:

        It lets the compiler decide the variable's type based on the assigned value. -> Option A
      4. Quick Check:

        Implicit typing = compiler infers type [OK]
      Hint: Remember: var means 'let compiler guess type' [OK]
      Common Mistakes:
      • Thinking var means no type is assigned
      • Assuming var creates constants
      • Believing var is a type itself
      2. Which of the following is a correct way to declare a variable using var in C#?
      easy
      A. var number;
      B. var int number = 10;
      C. var = 10;
      D. var number = 10;

      Solution

      1. Step 1: Check syntax rules for var

        Variables declared with var must be initialized immediately with a value.
      2. Step 2: Evaluate each option

        var number = 10; declares and initializes correctly. var number; misses initialization. var = 10; has wrong syntax. var int number = 10; mixes explicit type with var incorrectly.
      3. Final Answer:

        var number = 10; -> Option D
      4. Quick Check:

        var requires immediate assignment [OK]
      Hint: Always assign a value when using var [OK]
      Common Mistakes:
      • Declaring var without assigning a value
      • Using var as a type name
      • Combining var with explicit type
      3. What will be the output of the following code?
      var message = "Hello";
      var count = 5;
      Console.WriteLine(message + " " + count);
      medium
      A. Hello + 5
      B. Hello5
      C. Hello 5
      D. Compilation error

      Solution

      1. Step 1: Understand variable types inferred

        message is a string "Hello", count is an int 5.
      2. Step 2: Analyze the concatenation in WriteLine

        Using + with string and int converts int to string and concatenates with a space in between, so output is "Hello 5".
      3. Final Answer:

        Hello 5 -> Option C
      4. Quick Check:

        String + int concatenates as string [OK]
      Hint: String + int converts int to string automatically [OK]
      Common Mistakes:
      • Expecting no space between words
      • Thinking + prints literal plus sign
      • Assuming compilation error due to var
      4. Identify the error in the following code snippet:
      var x;
      x = 10;
      medium
      A. var requires initialization at declaration.
      B. Missing semicolon after var declaration.
      C. No error, code runs fine.
      D. Cannot assign int to var variable.

      Solution

      1. Step 1: Recall var declaration rules

        Variables declared with var must be initialized immediately.
      2. Step 2: Check the code snippet

        Here, var x; declares without initialization, which is invalid.
      3. Final Answer:

        var requires initialization at declaration. -> Option A
      4. Quick Check:

        var must be assigned when declared [OK]
      Hint: var must have a value when declared [OK]
      Common Mistakes:
      • Thinking var can be declared without value
      • Confusing var with dynamic
      • Assuming assignment later is allowed
      5. Given the code below, what is the type of result and what will be its value?
      var numbers = new[] {1, 2, 3, 4};
      var result = numbers.Select(n => n * 2).ToList();
      Console.WriteLine(result.Count);
      hard
      A. Compilation error due to var usage
      B. result is a List<int> with 4 elements; output: 4
      C. result is a List<string>; output: 4
      D. result is an array of int; output: 8

      Solution

      1. Step 1: Understand the type inferred for numbers

        numbers is an int array: int[].
      2. Step 2: Analyze the LINQ Select and ToList

        Select doubles each number, producing IEnumerable<int>. ToList converts it to List<int> with 4 elements.
      3. Step 3: Check Console.WriteLine output

        result.Count returns 4, the number of elements in the list.
      4. Final Answer:

        result is a List<int> with 4 elements; output: 4 -> Option B
      5. Quick Check:

        var infers List<int>, Count = 4 [OK]
      Hint: var follows method return types exactly [OK]
      Common Mistakes:
      • Assuming result is an array, not a List
      • Expecting output to be sum or doubled value
      • Thinking var causes compilation error here
      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