我正在阅读"C#via CLR"和第380页,有一条说明如下:
注意Enum类定义HasFlag方法,定义如下
public Boolean HasFlag(Enum flag);使用此方法,您可以重写对Console.WriteLine的调用,如下所示:
Console.WriteLine("Is {0} hidden? {1}", file, attributes.HasFlag(FileAttributes.Hidden));但是,我建议您出于这个原因避免使用HasFlag方法:
由于它采用了Enum类型的参数,因此传递给它的任何值都必须装箱,需要进行内存分配."
我无法理解这个粗犷的陈述 - 为什么"
您传递给它的任何值都必须装箱
该flag参数的类型是Enum,这是一个值类型,为什么会有拳击?"传递给它的任何值必须装箱"应该意味着当你将值类型传递给参数时会发生装箱Enum flag,对吧?