加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Object to System.String隐式转换

发布时间:2020-12-15 19:43:58 所属栏目:百科 来源:网络整理
导读:我对C#中的类型转换有疑问. Object data_obj = "test";string data_str;data_str = data_obj; 这会产生一个错误,声称不存在隐式转换.现在,至少对我而言,这有点不直观,因为Console.WriteLine(“type {0}”,data_obj.GetType())会产生System.String,但话说回来
我对C#中的类型转换有疑问.

Object data_obj = "test";
string data_str;
data_str = data_obj;

这会产生一个错误,声称不存在隐式转换.现在,至少对我而言,这有点不直观,因为Console.WriteLine(“type {0}”,data_obj.GetType())会产生System.String,但话说回来,我真的很擅长C#.

现在,通过这个,我想转换为data_obj中存储的数据类型,而无需手动切换和选择类型.

所以,基本上,我要问的是:有没有办法定义从System.Object到System.String,System.Decimal等的隐式转换.

语境:

我正在从ODBC连接读取到SQLServer数据库并尝试将这些行泵入Oracle数据库.现在,必须定义SQLServer和Oracle行的对应关系.现在,我从SQLServer表中读取数据没有任何问题,并将其存储在List< Dictionary< string,Object>>中. (我知道,存储行看似错误,但设计要求,你能做什么).
插入部分是我遇到插入问题的地方.我基本上通过列表的元素循环(使用foreach)并逐行插入它们.在这里我需要确定存储在Object中的数据类型.

编辑:包括更多细节.

解决方法

不,没有办法隐含地这样做.选项:

>显式调用ToString()(如果引用为null,将抛出异常)
>调用Convert.ToString()
>使用“”data_obj(ick,不要这样做)
>如果您确定data_obj确实是一个字符串,请进行转换

你为什么如此热衷于隐式转换呢?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读