Синтаксис бритвы и типы данных - PullRequest
0 голосов
/ 24 марта 2011

Я не уверен, отличается ли это при использовании Razor или нет, и я пока не могу найти его в Документах MSDN. Допустимо ли делать что-то подобное?

string f;

foreach(string something in otherthing)
{
   f = something.Name;
}

<p>@f</p>

Часть, которая относится к моему вопросу: string f; Я знаю, что вы не можете объявить переменную, не назначая ее одновременно, но как насчет String? И где бы я мог найти этот тип информации?

И почему все веб-сайты (MSDN, многие учебные пособия онлайн) всегда используют var вместо string? Это чистая лень? Есть ли смысл использовать его (вместо)?

Причина, по которой я спрашиваю, почему они используют var вместо String / string, заключается в том, что в случаях, когда значение явно является String, они все еще используют var. Легче ли конвертировать переменные в другой тип?

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

Стоит проверить посты Скотта Гу на бритвенных видах, так как он охватывает большинство вещей там:

http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

Также, если вы еще не видели, возможность использовать динамическийтипы с Razor довольно аккуратны и могут использоваться с такими вещами, как почтовая библиотека

Интересное чтение: http://aboutcode.net/2010/11/17/going-postal-generating-email-with-aspnet-mvc-view-engines.html

0 голосов
/ 24 марта 2011

Вы можете объявить string, ни на что не ссылаясь.Вы не можете сделать это с var s, потому что C # должен знать тип переменной, когда он объявлен, потому что C # является статически типизированным языком.

Когда компилятор видит var s = "string", он видит, чтоОбъявленный является строкой и интерпретирует это var как строку.

Если тип может быть легко выведен, то более кратким и иногда более читаемым является объявление переменной с использованием var вместо явного типа, такого как string.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...