I have a question regarding type conversion in C#.
Object data_obj = "test";
string data_str;
data_str = data_obj;<br>
这会产生一个错误,声称不存在隐式转换。对于我来说,这至少有点不直观,因为Console.WriteLine("type{0}",data_obj.GetType())
会产生System.String
,但是我真的很新C#。
现在,我想要转换为存储在data_obj
中的数据类型,而不必手动switch
和选择类型。
所以,基本上,我的问题是:是否有一种方法可以从System.Object
定义隐式转换为System.String
、System.Decimal
等。
上下文:
我正在从ODBC连接到SQLServer数据库并尝试将这些行推送到Oracle数据库。现在,必须定义SQLServer和Oracle行的对应关系。现在,我毫不费力地从SQLServer表中读取数据,并将其存储在List<Dictionary<string,Object>>
中(我知道,存储行似乎是错误的,但设计要求如此,你能做什么)。
插入部分是我在插入时遇到问题的地方。我基本上通过foreach循环遍历列表的元素,并逐行插入它们。就是在这里,我需要确定存储在Object
中的数据类型。
编辑:包括更多细节。
(string)
(或其他类型) 。如果您想将其存储在变量中,则仍需弄清楚它是什么类型,该变量必须定义为该类型,因此您仍需要使用switch
或if
语句。 - Richard Marskell - Drackir