gpt4 book ai didi

c# - 为什么我可以将 Int 转换为 IComparable?

转载 作者:行者123 更新时间:2023-12-03 20:10:15 25 4
gpt4 key购买 nike

我在一个测验中遇到了一个问题,即“以下是做什么的?”:

// Value is an int
IComparable thing = (IComparable)value;

显然答案是拳击,但我不知道为什么。为什么这被认为是拳击,它在做什么?我的印象是拳击只能发生在 object 上。 .

最佳答案

Why is this considered boxing



因为您通过创建包含该值的对象(“框”)将值类型转换为引用类型。它的拳击方式与您习惯使用 object 的方式相同。 .

what is it doing



装箱,但结果类型为 IComparable .

I was under the impression that boxing can only happen with object.



不,装箱可以发生在值类型继承层次结构中的任何引用类型上。实际上,这意味着:
  • 值类型支持的任何接口(interface)
  • object
  • ValueType
  • Enum (用于枚举)
  • 关于c# - 为什么我可以将 Int 转换为 IComparable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60446261/

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