The var
keyword in C# is used to declare variables without explicitly specifying their type. Instead, the compiler infers the variable’s type based on the value assigned to it at compile time. For example:
var number = 42; // Inferred as int
var message = "Hello, world!"; // Inferred as string
When to Use var keyword
Readability: Use var
when the type of the variable is obvious from the assigned value. For instance:
var person = new Person(); // Clearly a Person type
var total = 123.45; // Clearly a double
This helps keep your code clean and avoids redundancy.
Complex Types: Use var
when working with complex or anonymous types, where explicitly stating the type would be cumbersome:
var dictionary = new Dictionary<int, List<string>>();
var result = new { Name = "John", Age = 30 }; // Anonymous type
When to Avoid var
keyword
Unclear Types: Avoid var
when the type of the variable isn’t immediately clear, as it can reduce code readability:
var result = DoSomething(); // What type does DoSomething() return?
Explicitly stating the type here makes the code easier to understand.
Primitive Values: Avoid var
for simple types like int
, string
, or bool
unless it significantly improves readability:
int count = 10; // Prefer explicit type