我想知道拳击是否发生在以下场景中:
int[] someNumbers = { 1, 2, 3, 4, 5 };
Foo(someNumbers);
// ...
private void Foo(IList<int> numbers) {
}
我无法找到这个问题的答案,如果这是重复的话,请道歉!
答案 0 :(得分:2)
虽然int
是值类型,但数组是引用类型,因此someNumbers
是引用类型。因此,在将其分配给IList<int>
时不会发生装箱。如果您将数组的元素指定为Foo
内的引用类型,例如
private void Foo(IList<int> numbers) {
IComparable<int> nc = numbers[0];
}