Блог Сергея Байдачного

Мой блог о технологиях

Использование WebMatrix: Переменные, условия, циклы

leave a comment »

Итак, чтобы приступить к разбору работы с конкретными объектами и описанию Helpers, рассмотрим сначала основы синтаксиса ASP.NET Razor.

Во втором посте о WebMatrix я уже писал о том, как выполнять вставки серверного кода и как «подмешивать» в серверный код HTML. Поэтому не буду повторяться, а перейду к механизму определения переменных.

Определение переменных.

Определение переменных в Razor синтаксисе очень похоже на определение переменных в C#. Достаточно указать тип переменной (int, DateTime, double, bool и т. д.) и имя переменной. При объявлении переменной можно выполнить и инициализацию:

@{

string s;

int j = 3;

}

Переменные можно объявлять и с помощью ключевого слова var. Тут вы не указываете тип явно, но должны обязательно выполнить инициализацию переменной при объявлении, чтобы компилятор мог проверить правильность ее использования в коде.

@{

var s=”Hello”;

var j = 3;

}

Имея набор переменных, Вам может понадобиться выполнять преобразования из одного типа в другой. Для этой цели можно воспользоваться стандартным явным или неявным преобразованием, а также набором методов, принадлежащих объекту типа String.

Вот пример явного преобразования:

@{

double d=3.5;

int j = (int)d;

}

Среди методов, которые позволяют выполнить преобразование, выделяют метод ToString(), который присутствует у любого объекта, а также набор методов, принадлежащих объекту типа String: AsBool(), AsDecimal(), AsFloat(), AsInt(), AsDateTime().

Наконец, класс String описывает несколько методов, которые не выполняют преобразование, а позволяют проверить возможность последнего (естественно, возвращая bool): IsBool(), IsDecimal(), IsFloat(), IsInt(), IsDateTime().

На последок отметим, что если Вы определяете строку, которая содержит специальные символы (слеш, использующийся для указания пути к файлам), то строку начинают с символа @. Кроме этого, если Вы хотите указать внутри строки двойную кавычку, то должны поставить две двойных кавычки:

@{

string s = @"\Hello""";

@s

}

На экране отобразится \Hello.

Собственно говоря, по переменным все. Теперь перейдем к структурам выбора.

Конструкции if и switch.

Как и в любом нормальном языке ASP.NET Razor поддерживает стандартные структуры выбора. Самая простейшая структура, это if. Ниже пример условия if в «худшем» своем проявлении.

if (i<3)

{

. . .

}

else if (i==3)

{

. . .

}

else

{

. . .

}

Иными словами, синтаксис соответствует языку программирования С#, где указывается оператор if, за которым следует условие, заключенное в скобки. Условие обязательно возвращает bool. Далее идут возможные ветвления и блок else (которые могут и отсутствовать).

Вторая конструкция – switch, позволяет сделать выбор, сопоставив значение переменной некоторому списку. Вот пример такой структуры:

switch (s)

{

case "Sergey":

@: <p>It’s your name</p>

break;

case "Viktor":

@: <p>Name of your brother</p>

break;

default:

@: <p>I don’t know your name</p>

break;

}

Согласно синтаксису, каждый выбор case, должен завершаться ключевым словом break. Может присутствовать блок default, который выполняется, если ни одна метка не найдена.

Циклы

Наконец, циклы. Как и в С# в Razor присутствует четыре типа структур, реализующих циклы, это for, foreach, do, while.

Самый сложный и универсальный цикл, это for. Он содержит три блока, первый из которых определяет и инициализирует переменные, второй – проверяет условие, а третий – выполняет какие-то действия над переменными. Вот пример такого цикла, печатающего цифры от 1 до 10:

for (int i=1; i<=10; i++)

{

@i;

}

Вторая структура foreach, позволяет перебрать все элементы какой-то коллекции. Это верно и для массивов и для более сложных коллекций (например, списки).

Структура do…while позволяет выполнять какое-то действие, пока не будет достигнуто заданное условие. Причем сначала выполняется действие, а затем проверяется условие:

int i=0;

do

{

i++;

@i;

}

while (i < 10);

На экране будет все тот же набор чисел от 1 до 10.

Последний цикл while позволяет сначала проверить условие, а только потом выполнить действие (если условие возвращает true):

int i = 0;

while (i<10)

{

i++;

@i;

}

В следующем посте я продолжу рассматривать синтаксические особенности Razor, а также перейду к использованию конкретных объектов.

Реклама

Written by Sergiy Baydachnyy

22.02.2011 в 18:16

Опубликовано в Web Matrix

Tagged with

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: