Преобразовать var в явный тип в Visual Studio?

Возможное дублирование:
Инструмент чтобы преобразовать переменную C # в явный тип

Есть ли в Visual Studio какой-либо тип ярлыка (сокращение от записи фактического имени типа), который позволяет вам написать «var» и преобразовать его в фактическое имя типа?

ex:

var x = new Dictionary<string, string>();

:: Творить волшебство ::

Dictionary<string, string> x = new Dictionary<string, string>();

РЕДАКТИРОВАТЬ - Всем ненавистникам вопросов: я спросил, потому что я был в ситуации, когда я хотел найти все ссылки на определенный тип в моем решении. Вары не отображаются в этом поиске.


person carlbenson    schedule 01.02.2012    source источник
comment
ReSharper может это сделать. Не уверен, хотите ли вы это слышать :)   -  person    schedule 01.02.2012
comment
Я не думаю, что у VS есть, но у ReSharper определенно есть.   -  person Daniel Mann    schedule 01.02.2012
comment
Не всем нравится var, и это нормально.   -  person SomeWritesReserved    schedule 01.02.2012
comment
Зачем вам это, когда var совершенно приемлемо?   -  person Bernard    schedule 01.02.2012
comment
Версия без варки режет мне глаза!   -  person Meta-Knight    schedule 01.02.2012
comment
@Bernard Потому что это вопрос предпочтений?   -  person Marlon    schedule 01.02.2012
comment
Собираетесь ли вы удалить все свои using утверждения, пока вы это делаете, и расширить до System.Collections.Generic.Dictionary<String, String> x?   -  person Yuck    schedule 01.02.2012
comment
@ Юк, я надеялся, что больше похоже на global::System.Collections.Generic.Dictionary<String, String> x.   -  person Marlon    schedule 01.02.2012
comment
Может быть, динамический тип будет вам полезен?   -  person TwTw    schedule 01.02.2012
comment
Другая возможность: stackoverflow.com/questions/8402990 /   -  person Anthony Pegram    schedule 01.02.2012
comment
@Yuck, Марлон: global::System.Collections.Generic.Dictionary<global::System.String, global::System.String> x   -  person BoltClock    schedule 01.02.2012
comment
@BoltClock Не могу поверить, что не подумал об этом, когда написал свой комментарий! Хороший: D   -  person Marlon    schedule 01.02.2012
comment
@BoltClock В этом отношении x недостаточно информативен. global::System.Collections.Generic.Dictionary<global::System.String, global::System.String> localVariableXOfTypeSystemCollectionsGenericDictionaryOfStringString;   -  person Yuck    schedule 01.02.2012
comment
[...] краткость - душа остроумия [...] - Полоний, Гамлет   -  person canon    schedule 01.02.2012
comment
В некоторых случаях я мог понять, что мне не нравятся вары. Я ненавижу использовать переменные для целых чисел, строк, логических значений и т. Д., Поскольку (var i = 0; ...) выглядит некрасиво.   -  person corylulu    schedule 01.02.2012
comment
@ Карл, я не думаю, что здесь были какие-то ненавистники. Люди просто пошутили с комментариями; близкие голоса были вызваны тем, что об этом уже спрашивали раньше, и для содержания сайта лучше связать это таким образом. Если были голоса против, не беспокойтесь о них вообще.   -  person Andrew Barber    schedule 02.02.2012
comment
@AndrewBarber, я имел в виду беззаботных ненавистников. Но, как уже было сказано, ваш ответ может быть одним из самых внимательных / дружелюбных комментариев, которые я когда-либо читал на этом сайте. Спасибо!   -  person carlbenson    schedule 02.02.2012
comment
@Carl Добро пожаловать! Это как-то забавно, потому что я сегодня в целом сварливом настроении! хе-хе   -  person Andrew Barber    schedule 02.02.2012
comment
Отчасти в сторону, но я полагаю, var стал непреднамеренно популярным, когда изначально предназначался только для анонимных типов; Я бы предположил, что, если бы Microsoft знала, что это станет ярлыком «Эй, я могу сохранить сейчас», они бы поместили это в IDE как параметр пользовательского интерфейса, который только изменил способ представления кода (например, Показать / Скрыть явный типы в предпочтениях). Было бы неплохо, если бы это была настройка редактора для каждого пользователя, но опять же, я все еще хочу, чтобы вкладки победили пробелы.   -  person jrh    schedule 27.02.2019


Ответы (1)


Сторонние инструменты, такие как Resharper, могут преобразовывать неявно типизированные переменные в явно типизированные и наоборот. Resharper позволяет массово конвертировать их все или выбирать, какие экземпляры конвертировать.

Но позвольте мне направить вас к Повлияет ли использование 'var' на производительность?, где приводятся аргументы за и против неявной типизации.

person Devin Burke    schedule 01.02.2012
comment
Обратите внимание, что можно преобразовать var в явный тип с помощью (vanilla) Visual Studio (я тестировал это в Visual Studio 2017), см. Вопрос, отмеченный как дубликат этого сообщения. - person jrh; 12.03.2019