- 1
- 2
- 3
SqlDataReader reader;
...
int id = int.Parse(reader["ID"].ToString());
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+152
SqlDataReader reader;
...
int id = int.Parse(reader["ID"].ToString());
Нет, ID - не какой-нибудь nvarchar, а вполне себе integer
Нормальный код, что не так?
а то, что int переводится в String и снова парситься в int
reader хранит в себе типы object,
поэтому приведение к int нужно все равно.
[quote=страйкер]а то, что int переводится в String и снова парситься в int[/quote]
Приведите работающие решение лучше этого.
Вы что, издеваетесь?
int id = (int)reader["ID"];
[quote=Говногость]Вы что, издеваетесь?
int id = (int)reader["ID"];[/quote]
Это, конечно, откомпилится, но попробуйте запустить. Где говнокод, так это у вас в комментарии.
Только после вас, лично я именно эту конструкцию и использую, и везде исправлял приведенный пример. И пожалуйста, заканчивайте показывать себя быдлокодером, тошно читать.
[quote]Приведите работающие решение лучше этого.[/quote]
К сожалению (а может быть и к счастью), не C# программист, но склонен считать, что это говнокод. Если это нормально в C#, то смело могу предположить тоже самое и об этом языке
Это не нормально, я гарантирую это :)
Специально для тех, кто никак не может понять, в чем здесь говнокод, поясняю:
Действительно, в SqlDataReader, как и DataRow массив данных лежит в object, но только потому, что реально там данные, соответствующие типу в базе. Например, если в базе тип nvarchar, то будет string, если bit, то bool, и тд. Поэтому достаточно привести object к нужному типу. А переводить его к строке, а ее уже парсить обратно в int.