1
我想知道如果鑄造枚舉將框枚舉或不是枚舉枚舉拳擊或只需鍵入鑄造
所以我應該寫表達濃郁的成員,以減少我的對象的大小。
public Fruit FruitType => (Fruit) Type; // unboxing?
public override Enum Type => (Fruit) (Data[0] & 0xF0); // boxing?
或有財產,以防止拳擊和拆箱?
public Fruit FruitType => (Fruit) (Data[0] & 0xF0);
public override Enum Type { get; } = (Fruit) (Data[0] & 0xF0); // assigned once.
假設我有數千個實例。而這個屬性大約用了6萬次。
爲了避免重複代碼,你可能需要使用你的第二個選項和定義類型爲'公衆覆蓋枚舉類型{獲得; } => FruitType;'。抖動可能會嵌入「FruitType」獲取器中,所以不應該有性能損失。 – Heinzi
有趣的一點。沒有想到抖動。如果抖動足夠聰明,它可能能夠以其他方式進行優化。 'Fruit FruitType =>(Fruit)Type;'Type'基本上變成'(Fruit)(Data [0]&0xF0)'@Heinzi –