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

one

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

Код:
int A = 200;
Надо что бы значение 200 бралось из переменной. Как это корректно указать?
 

Aleksk

Client
Регистрация
19.06.2013
Сообщения
31
Благодарностей
23
Баллы
8
Код:
int A = Convert.ToInt32(project.Variables["value"].Value);
 

brauni

Client
Регистрация
22.03.2017
Сообщения
18
Благодарностей
41
Баллы
13
Ну или так.

int A = int.Parse(project.Variables["имя_переменной"].Value);
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
А в чем разница?
 

brauni

Client
Регистрация
22.03.2017
Сообщения
18
Благодарностей
41
Баллы
13
Для большинства простых случаев разницы не будет. Принцип один и тот же - переменные которые вводишь через входные настройки, по умолчанию имеют тип 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

KitKat21

Client
Регистрация
02.05.2017
Сообщения
263
Благодарностей
191
Баллы
43

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