Implicit typed local variables
با استفاده از کلمه کلیدی var :
برای مثال نوشتن :
var answer = 42;
var s = "this is a string.";
var names = new string[]{"Joe", "Bob", "Sam"};
معادل است با :
int answer = 42;
string s = "this is a string.";
string[] names = new string[]{"Joe", "Bob", "Sam"};
پس از مقداردهی نوع متغیر مشخص خواهد شد.
اینها درست هستند :
var a = "See", b = "Spot", c = "run";
string[] names = new string[]{"Jim", "Joe", "Bob"};
var b = new[] {1, 2.0, 3.5, 4.75}; // double[]
var a = new[] {1, 2, 3, 4, 5}; // int[]
foreach (var name in names)
{
...
}
اما اینها اشتباه هستند :
var x = null;
var a = 22, b = "Spot", c = 9.5;
var c = new[] {1, "Name", 2, "Address");
چند نکته :
- بلافاصله بعد از تعریف، متغیر باید مقداردهی شود در غیر اینصورت خطای زمان کامپایل رخ میدهد.
- عمل تعیین نوع تنها یکبار انجام شده و پس از آن قابل تغییر نیست.