Как правильно использовать переменную в снипете?

  • Автор темы Автор темы one
  • Дата начала Дата начала

one

Client
Регистрация
22.09.2015
Сообщения
7 005
Реакции
1 308
Баллы
113
В снипете есть строка такого вида:

Код:
Развернуть Свернуть Копировать
int A = 200;
Надо что бы значение 200 бралось из переменной. Как это корректно указать?
 
Код:
Развернуть Свернуть Копировать
int A = Convert.ToInt32(project.Variables["value"].Value);
 
Ну или так.

int A = int.Parse(project.Variables["имя_переменной"].Value);
 
  • Спасибо
Реакции: one
А в чем разница?
 
Для большинства простых случаев разницы не будет. Принцип один и тот же - переменные которые вводишь через входные настройки, по умолчанию имеют тип string, и чтобы преобразовать строку в целое число используются Parse или ConvertTo.

Бывают моменты, где это принципиально. Просто процитирую ответ с киберфорума.

А вообще методы Parse и Convert.ToXXX имеют разную семантику, и в зависимости от нее и нужно использовать эти методы:
Метод Parse нужен для преобразования строки в определенный тип. При этом подразумевается, что в строке записано строковое представление именно этого типа. Поэтому для Parse, вот такая запись бессмысленна: bool d = bool.Parse("1.4"); и выдаст ошибку.
Методы же Convert нужны для преобразования одних типов в другие
. Что имеет совсем другой смысл, чем Parse. Например для Convert можно написать так: bool d = Convert.ToBoolean(1.4); и это будет работать.

PS Кстати, можно подумать, что методы Convert.XXX лучше и универсальнее, но на самом деле их следует избегать, там где можно использовать Parse или явное преобразование типа (например int i = (int)1.4;). Это связано с тем, что Convert может давать неявное поведение (см пример выше с преобразованием double в bool) что плохо для строго типизированного языка.
 
  • Спасибо
Реакции: KitKat21, samsonnn и one

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)