首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串转换为int - datareader

将字符串转换为int - datareader
EN

Stack Overflow用户
提问于 2012-11-05 23:04:06
回答 2查看 2.4K关注 0票数 0

试图弄清楚如何将这个zip字符串转换为int。我得到了一个强制转换异常:

代码语言:javascript
复制
member.Zip = reader.GetInt16(ordinals[(int)Enums.MemberColumn.Zip]);

更新:

谢谢大家。下面是我想出的对我来说足够好的方法:

代码语言:javascript
复制
Int32.TryParse(reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]), out number) ? number : 0;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-05 23:10:28

您需要将其作为字符串获取,然后解析该字符串:

代码语言:javascript
复制
string zipString = reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]);
member.Zip = Int16.Parse(zipString);

DataReaders期望字段的底层类型与您要调用的特定方法相同。因此,GetInt16需要底层的16位整数,GetBoolean需要底层的位,而GetString需要底层的字符串。它不会为你做任何转换。

票数 1
EN

Stack Overflow用户

发布于 2012-11-05 23:09:12

代码语言:javascript
复制
member.Zip = Convert.ToInt16(reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13234758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档