Local variables in C# must be initialized before they are used.
https://msdn.microsoft.com/en-us/library/vstudio/s1ax56ch(v=vs.100).aspx
class Test
{
static int test1; // static field test1 = 0 Warning CS0414: The field ‘Test.test1’ is assigned but its value is never used
int test2; // instance field test2 = 0 Warning CS0649: The field ‘Test.test2’ is never assigned to, and will always have its default value 0
public void Foo() // instance method
{
int test3; // Declaration only; Not initialized warning CS0168: The variable ‘test3’ is declared but never used
int test4 = test2; // Ok
//int test5 = test3; // Error CS0165: Use of unassigned local variable ‘test3’
}
public static void Foo2() // static method
{
test1 = 2;
}
}
class Program
{
static void Main(string[] args)
{
// Declaration only
float temperature; // warning CS0168: The variable ‘temperature’ is declared but never used
string name; // warning CS0168: The variable ‘name’ is declared but never used
Test myClass; // The variable ‘myClass’ is declared but never used
// Declaration with initializers
double limit = 3.5;
int[] source = { 0, 1, 2, 3, 4, 5 };
var query = from item in source
where item <= limit
select item;
Test.Foo2(); // Static method
// Test.Foo(); // Error CS0120: An object reference is required for the non-static field, method, or property
}
}