OpCodes.Add Fält

Definition

Lägger till två värden och push-överför resultatet till utvärderingsstacken.

public: static initonly System::Reflection::Emit::OpCode Add;
public static readonly System.Reflection.Emit.OpCode Add;
 staticval mutable Add : System.Reflection.Emit.OpCode
Public Shared ReadOnly Add As OpCode 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
58 Lägg till Lägger till två numeriska värden och returnerar ett nytt numeriskt värde.

Stackens övergångsbeteende i sekventiell ordning är:

  1. value1 skickas till stacken.

  2. value2 skickas till stacken.

  3. value2 och value1 poppas från stacken, value1 läggs till i value2.

  4. Resultatet skickas till stacken.

Spill har inte identifierats för heltalsåtgärder (för korrekt spillhantering, se Add_Ovf).

Heltalstillägg omsluter snarare än mättar. Om du till exempel antar 8-bitars heltal där value1 är inställt på 255 och value2 är inställt på 1, är det omslutna resultatet 0 i stället för 256.

Flyttalsspill returnerar +inf (PositiveInfinity) eller -inf (NegativeInfinity).

De acceptabla operandtyperna och deras motsvarande resultatdatatyp visas i tabellen nedan. Om det inte finns någon post för en viss typkombination (till exempel int32 och float; int32 och int64), är det ett ogiltigt Microsoft mellanliggande språk (MSIL) och genererar ett fel.

operand value1-typ value2-typ resultattyp
Lägg till int32 int32 int32
Lägg till int32 native int native int
Lägg till int32 & &
Lägg till int32 * *
Lägg till int64 int64 int64
Lägg till native int int32 native int
Lägg till native int native int native int
Lägg till native int & &
Lägg till native int * *
Lägg till F F F
Lägg till & int32 &
Lägg till & native int &
Lägg till * int32 *
Lägg till * native int *

Följande Emit metodöverlagring kan använda add opcode:

Gäller för