Приобразование vs ToString()
От: celtdev Россия  
Дата: 09.02.11 13:15
Оценка:
При получении значения из реестра через Registry.GetValue
что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
или же вызов ToString: string str = Registry.GetValue(......).ToString();
преобразование tostring
Re: Приобразование vs ToString()
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 09.02.11 13:41
Оценка:
Здравствуйте, celtdev, Вы писали:

C>При получении значения из реестра через Registry.GetValue

C>что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
C>или же вызов ToString: string str = Registry.GetValue(......).ToString();

.ToString(), как по мне, кошернее
С уважением, Владислав Полищук
Re: Приобразование vs ToString()
От: vmpire Россия  
Дата: 09.02.11 13:42
Оценка:
Здравствуйте, celtdev, Вы писали:

C>При получении значения из реестра через Registry.GetValue

C>что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
C>или же вызов ToString: string str = Registry.GetValue(......).ToString();
Если там в реестре ожидается строка, то (string), чтобы заодно проверить типизацию.
Если там не строка или неизвестно что — то .ToString()
Re[2]: Приобразование vs ToString()
От: vmpire Россия  
Дата: 09.02.11 13:43
Оценка: 1 (1) +4
Здравствуйте, vladpol, Вы писали:

V>Здравствуйте, celtdev, Вы писали:


C>>При получении значения из реестра через Registry.GetValue

C>>что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
C>>или же вызов ToString: string str = Registry.GetValue(......).ToString();

V>.ToString(), как по мне, кошернее

При чём тут, "кошернее"? Это же не две разные записи одного и того же, это два совершенно разных действия.
Re: Приобразование vs ToString()
От: MozgC США http://nightcoder.livejournal.com
Дата: 09.02.11 13:44
Оценка: 1 (1) +1
Здравствуйте, celtdev, Вы писали:

C>При получении значения из реестра через Registry.GetValue

C>что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
C>или же вызов ToString: string str = Registry.GetValue(......).ToString();

Исходите из того, что Registry.GetValue может вернуть не строку и может вернуть null.
Если GetValue вернет не строку (а например числовое значение, обернутое в object), то (string)Registry.GetValue(...) приведет к InvalidCastException. Хотя, надо признать, такое маловероятно.
Если указанного ключа не существует GetValue() вернет null и вызов Registry.GetValue(......).ToString() приведет к NullReferenceException.
Я бы наверное написал как-то так:
string value = Registry.GetValue(.., .., null) as string;
if(value == null)
  throw new SomeException("Something is wrong with the registry settings bla bla bla.");
Re[3]: Приобразование vs ToString()
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 09.02.11 14:10
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, vladpol, Вы писали:


V>>Здравствуйте, celtdev, Вы писали:


C>>>При получении значения из реестра через Registry.GetValue

C>>>что лучше преобразование к строке: string str = (string)Registry.GetValue(......);
C>>>или же вызов ToString: string str = Registry.GetValue(......).ToString();

V>>.ToString(), как по мне, кошернее

V>При чём тут, "кошернее"? Это же не две разные записи одного и того же, это два совершенно разных действия.

совершенно согласен
С уважением, Владислав Полищук
Re[2]: Приобразование vs ToString()
От: Аноним  
Дата: 10.02.11 16:46
Оценка: -4 :)))
Здравствуйте, MozgC, Вы писали:

MC>Я бы наверное написал как-то так:

MC>
string value = Registry.GetValue(.., .., null) as string;
MC>if(value == null)
MC>  throw new SomeException("Something is wrong with the registry settings bla bla bla.");


если из-за всякой ерунды городить столько кода то проект станет нечитабельным ещё на начальном этапе.
Re[3]: Приобразование vs ToString()
От: fddima  
Дата: 10.02.11 16:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>если из-за всякой ерунды городить столько кода то проект станет нечитабельным ещё на начальном этапе.

Ага, если из-за всякой ерунды не городить столько кода, то проект скоро станет неюзабельным. Занимались удалённой отладкой по телефону, путём телепатии?
Re[3]: Приобразование vs ToString()
От: AlexGin Беларусь  
Дата: 11.02.11 11:23
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, MozgC, Вы писали:


MC>>Я бы наверное написал как-то так:

MC>>
string value = Registry.GetValue(.., .., null) as string;
MC>>if(value == null)
MC>>  throw new SomeException("Something is wrong with the registry settings bla bla bla.");


А>если из-за всякой ерунды городить столько кода то проект станет нечитабельным ещё на начальном этапе.


Это совсем не ерунда. Эти проверки необходимы!
Они в будущем сэкономят Ваше же время, при дальнейшей работе над проектом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.