gpt4 book ai didi

c# - 将结构转换为通用接口(interface)时是否有装箱/拆箱?

转载 作者:可可西里 更新时间:2023-11-01 03:14:13 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Structs, Interfaces and Boxing

来自 MSDN:http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx

Boxing is the process of converting a value type to the type object or to any interface type implemented by this value type.

但是通用接口(interface)呢?

例如,int派生自 IComparableIComparable<int> .

假设我有以下代码:

void foo(IComparable value)    { /* etc. */ }
void bar(IComparable<T> value) { /* etc. */ }

void gizmo()
{
int i = 42;

bar(i); // is `i` boxed? I'd say YES
foo(i); // is `i` boxed? I fear it is (but I hope for NO)
}

是否 bar (或任何采用非通用接口(interface)的函数)意味着会有装箱?

是否 foo (或任何在该类型上采用通用接口(interface)的函数)意味着会有装箱?

谢谢。

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