首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChangeType法中的几个误区

ChangeType法中的几个误区
EN

Stack Overflow用户
提问于 2012-07-17 14:47:40
回答 4查看 101关注 0票数 0

我是c#的新成员,所以你们中的一些人可能会觉得我的问题很幼稚。

我用的是这个方法:

代码语言:javascript
复制
public static object ChangeType(object value, Type conversionType);

来自元数据手册:

返回:一个对象,其类型为conversionType,其值等效于值。-或-A空引用( Visual中为空),如果值为空,而conversionType不是值类型。

但是在方法签名中,返回的类型总是'object‘。所以,如果返回的类型是object,那么转换值的好处是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-17 14:51:18

原因是你可以转换成你的特定类型。此方法来自于泛型类型之前,因此它返回任意数量类型中的一种的唯一方法是返回所有泛型类型的超类型,即对象。当然,您可以将其转换为您所选择的类型,并保证您将成功,但唯一的其他选择将是过载的每一个类型,这将是有点沉重。:)

要注意的是,这并不仅仅是演员。它将返回一个全新的对象,这是您所要求的类型,而不是您给它的类型。

票数 1
EN

Stack Overflow用户

发布于 2012-07-17 14:50:27

Convert.ChangeType创建指定类型的新对象,其值相当于您传递的对象。

例如,Convert.ChangeType("42", typeof(int))将返回一个装箱的int实例,而不是一个字符串。

实际行为完全在您传递的对象的IConvertible实现中。

票数 4
EN

Stack Overflow用户

发布于 2012-07-17 14:52:24

另外,

来自msdn文档:http://msdn.microsoft.com/en-us/library/aa324833(v=vs.71).aspx

*

价值 实现IConvertible接口的对象。

*

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11525123

复制
相关文章

相似问题

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