- 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
guest 23.04.2009 11:51 # 0
Нормальный код, что не так?
guest 23.04.2009 12:15 # 0
а то, что int переводится в String и снова парситься в int
guest 23.04.2009 13:29 # 0
reader хранит в себе типы object,
поэтому приведение к int нужно все равно.
guest 23.04.2009 13:57 # 0
[quote=страйкер]а то, что int переводится в String и снова парситься в int[/quote]
Приведите работающие решение лучше этого.
guest 23.04.2009 14:27 # 0
Вы что, издеваетесь?
int id = (int)reader["ID"];
guest 23.04.2009 14:52 # 0
[quote=Говногость]Вы что, издеваетесь?
int id = (int)reader["ID"];[/quote]
Это, конечно, откомпилится, но попробуйте запустить. Где говнокод, так это у вас в комментарии.
guest 23.04.2009 14:58 # +1
Только после вас, лично я именно эту конструкцию и использую, и везде исправлял приведенный пример. И пожалуйста, заканчивайте показывать себя быдлокодером, тошно читать.
guest 23.04.2009 15:32 # 0
[quote]Приведите работающие решение лучше этого.[/quote]
К сожалению (а может быть и к счастью), не C# программист, но склонен считать, что это говнокод. Если это нормально в C#, то смело могу предположить тоже самое и об этом языке
guest 23.04.2009 15:50 # 0
Это не нормально, я гарантирую это :)
Специально для тех, кто никак не может понять, в чем здесь говнокод, поясняю:
Действительно, в SqlDataReader, как и DataRow массив данных лежит в object, но только потому, что реально там данные, соответствующие типу в базе. Например, если в базе тип nvarchar, то будет string, если bit, то bool, и тд. Поэтому достаточно привести object к нужному типу. А переводить его к строке, а ее уже парсить обратно в int.
guest 23.04.2009 17:22 # 0