71 lines
2.1 KiB
C#
71 lines
2.1 KiB
C#
using System;
|
||
using System.Linq;
|
||
using System.Diagnostics;
|
||
using System.Collections.Generic;
|
||
|
||
/*
|
||
* Ключевое слово var
|
||
*
|
||
* Неявно типизированные локальные переменные
|
||
*/
|
||
class Program
|
||
{
|
||
static int Sum_Int(int a, int b)
|
||
{
|
||
int aa = a + b;
|
||
return aa;
|
||
}
|
||
static int Sum_Var(int a, int b)
|
||
{
|
||
var aa = a + b;
|
||
return aa;
|
||
}
|
||
|
||
static void Main()
|
||
{
|
||
var u = 5;
|
||
|
||
// Когда полезен?
|
||
// 1 - сократить длинну кода
|
||
var dict = new Dictionary<int, string>();
|
||
var list = new List<int>();
|
||
// 2 - создать анонимный тип данных
|
||
var obj = new { Name = "Мартин", Age = 25 };
|
||
|
||
// 3 - использовать при выборке элементов в массиве
|
||
int[] numbers = { 1, 2, 3, 2, 4, 5 };
|
||
var result = from i in numbers where i > 1 select i;
|
||
foreach (var item in result)
|
||
Console.WriteLine($"{item}\t");
|
||
|
||
|
||
Stopwatch sw = Stopwatch.StartNew();
|
||
// 4 - когда нужно получить результат выполнения метода
|
||
for (int i = 0; i < int.MaxValue; i++)
|
||
{
|
||
var sum_int = Sum_Int(1, i);
|
||
}
|
||
sw.Stop();
|
||
Console.WriteLine($"Sum_Int {sw.ElapsedMilliseconds}");
|
||
sw.Restart();
|
||
for (int i = 0; i < int.MaxValue; i++)
|
||
{
|
||
var sum_var = Sum_Var(1, i);
|
||
}
|
||
sw.Stop();
|
||
Console.WriteLine($"Sum_Var {sw.ElapsedMilliseconds}");
|
||
|
||
|
||
/*
|
||
* Не может быть использовано параметром метода
|
||
* static void Bar (var a)
|
||
* Не может быть типом возвращаемого значения
|
||
* static var Foo()
|
||
* Не может быть полями класса
|
||
* class MyClass { public var a}
|
||
*/
|
||
Console.WriteLine();
|
||
Console.WriteLine(u.GetType());
|
||
Console.ReadKey();
|
||
}
|
||
} |