gpt4 book ai didi

c# - Convert.ChangeType 快捷方式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:07 25 4
gpt4 key购买 nike

我想知道 Object Convert.ChangeType( Object object, Type type) 内部发生了什么当 object 的类型匹配 type .它只是捷径并返回object ?

例如:

object objString = "Hello World";

string converted = (string) Convert.ChangeType( objString, typeof ( String ) );

会执行 ChangeType实际调用 IConvertible接口(interface)还是只返回 objString?

最佳答案

根据Microsoft's C# reference source , Convert.ChangeType(Object, Type)执行以下一般行为:

  • 如果输入为空
  • 如果类型是值类型,则抛出。
  • 否则返回null。
  • 如果输入不是 IConvertible
  • 如果类型正是输入的类型,则返回输入。
  • 否则扔。
  • 如果类型是开箱即用的核心可转换类型之一,请调用相应的ToWhatever输入法。
  • 在每种情况下,实现似乎都是 return this如果类型匹配或 return Convert.ToWhatever(this)否则,这是一种捷径。
  • 否则请调用 ToType在输入上,传递类型。
  • 关于c# - Convert.ChangeType 快捷方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782606/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com