Как работать с var в C#?

Рейтинг: 2Ответов: 3Опубликовано: 19.04.2015

Пишу парсер для ВК, так как я ооочень зеленый программист, возникла проблема. получаю со стены в джейсоне инфу.

var wall = api.Wall.Get(-id, out totalCount, count);

и затем могу добавить в листбокс, таким способом.

foreach (var one in wallpost)
{
    listBox1.Items.Add(one.Text);
}

Вопрос. Как мне записать one.Text в массив? Спасибо!

Ответы

▲ 6Принят

var используется для определения типа во время компиляции, т.е. её значение определяется результатом выражения.

Она создана, для облегчения инициализации переменных, когда наименование типа длинное, не имеет значение или же вообще не помнишь, какой тип там возвращает та или иная функция.

VisualStudio понимает эту переменную еще до компиляции. Т.к. Wall.Get возвращает ReadOnlyCollection<Post>, то можно облегчить себе задачу и не вводить такую кучу букв, а воспользоваться ключевым словом var. Тогда wall[0].Text будет все равно доступно и intellisense выведет его в подсказке.

▲ 5

В большинстве случаев var работает так: определается тип значения присваемового выражения и подставляется вместо var.

О меньшинстве случаев можно не задумываться. Но если интересно, то var является не ключевым словом, а контекстным ключевым словом. Соответственно его можно использовать, например, в качестве имени переменной или класса. Если найдётся класс с именем var, то это слово уже нельзя будет использовать для выведения типа.

Сейчас рассматривается вопрос о добавлении val, которое будет означать неизменяемую переменную с выводом типа как и у var.

▲ 1

Нашел решение.

 ReadOnlyCollection<Post> wall = api.Wall.Get(-id, out totalCount, count);
 MessageBox.Show("Text: " + wall[0].Text);