拳击和取消拳击与通用集合

本文关键字:拳击 集合 取消 | 更新日期: 2023-09-27 18:30:07

在面试中,有人问我要Boxing and Unboxing,我对此进行了解释。之后,我要了Generic Collections。我解释了下面的代码,从这里他们问装箱操作是如何在下面的代码中应用的。我不确定这个答案。

public abstract class DataAccess<T, TKey>
{
   --CRUD Operations here
}
public class AdminDataAccess : DataAccess<Admin, long>
{
    --code here
}

拳击和取消拳击与通用集合

没有装箱。装箱不适用于泛型类型参数。它只适用于它们实际在代码中使用并且实际被所述代码装箱/取消装箱的情况。

编辑:。。一个例子,尽管我认为我解释得相当好。。

此复选框:

public abstract class DataAccess<T, TKey> where TKey : struct {
    private object _boxedKey;
    private void DoSomething(TKey key) {
        _boxedKey = key;
    }
}

如果没有一些代码强制装箱/取消装箱值类型,则泛型类型参数与装箱或取消装箱无关。