Behållarexekveringsfunktioner för X++

Anmärkning

Intressegrupper för communityn har nu flyttat från Yammer till Microsoft Viva Engage. Om du vill gå med i en Viva Engage-community och delta i de senaste diskussionerna fyller du i formuläret Begär åtkomst till Finance and Operations Viva Engage Community och väljer den community som du vill ansluta till.

Den här artikeln beskriver körningsfunktionerna för containrar.

Dessa funktioner ändrar innehållet i containrar.

conDel

Tar bort det angivna antalet element från en container.

Syntax

container conDel(container container, int start, int number)

Parameterar

Parameter Description
container Containern som du vill ta bort element från.
start Den enbaserade position där elementen ska tas bort.
nummer Antalet element som ska tas bort.

Returvärde

En ny container som inte innehåller de borttagna elementen.

Example

static void conDelExample(Args _args)
{
    container c = ["Hello world", 1, 3.14];
    
    // Deletes the first two items from the container.
    c = conDel(c, 1, 2);
}

conFind

Letar upp den första förekomsten av ett element i en container.

Syntax

int conFind(container container, anytype element)

Parameterar

Parameter Description
container Containern som ska sökas.
element Elementet som ska sökas efter.

Returvärde

0 om objektet inte hittades. i annat fall objektets sekvensnummer.

Example

static void conFindExample(Args _args)
{
    container c = ["item1", "item2", "item3"];
    int i = conFind(c, "item2");
    int j = conFind(c, "item4");

    print "Position of 'item2' in container is " + int2Str(i);
    print "Position of 'item4' in container is " + int2Str(j);
}

conIns

Infogar ett eller flera element i en container.

Syntax

container conIns(container container, int start, anytype element, ... )

Parameterar

Parameter Description
container Containern som elementen ska infogas i.
start Positionen som elementen ska infogas på.
element Ett eller flera element som ska infogas, avgränsade med kommatecken.

Returvärde

En ny container som innehåller de infogade elementen.

Anmärkningar

Det första elementet i containern anges med talet 1. Om du vill infoga efter elementet n ska startparametern vara n+1. Du kan också använda operatorn += för att lägga till värden av valfri typ i en container. Om du till exempel vill skapa en container som innehåller kvadratvärdena för de första 10 loop-iterationerna använder du följande kod.

int i;
container c;

for (i = 1; i < = 10; i++)
{
    // Append the square of the index to the container
    c += i*i;
}

Example

static void conInsExample(Args _arg)
{
    container c;
    int i;

    c = conIns(c,1,"item1");
    c = conIns(c,2,"item2");

    for (i = 1 ; i <= conLen(c) ; i++)
    {
        // Prints the content of a container.
        print conPeek(c, i);
    }
}

conLen

Hämtar antalet element i en container.

Syntax

int conLen(container container)

Parameterar

Parameter Description
container Containern som ska räkna antalet element i.

Returvärde

Antalet element i containern. ConNull-containern har inga element.

Example

static void conLenExample(Args _arg)
{
    container c = conins(["item1", "item2"], 1);

    for (int i = 1 ; i <= conLen(c) ; i++)
    {
        print conPeek(c, i);
    }
}

conNull

Hämtar en tom container.

container conNull()

Returvärde

En tom container.

Example

static void conNullExample(Args _arg)
{
    container c = ["item1", "item2", "item3"];

    print "The size of container is " + int2str(conLen(c));

    // Set the container to null.
    c = conNull();
    print "Size of container after conNull() is " + int2Str(conLen(c));
}

conPeek

Hämtar ett specifikt element från en container och konverterar det till en annan datatyp, om konvertering krävs.

Syntax

anytype conPeek(container container, int number)

Parameterar

Parameter Description
container Containern som du vill returnera ett element från.
nummer Positionen för elementet som ska returneras. Ange 1 för att hämta det första elementet. Ett ogiltigt positionsnummer, till exempel -3, 0 eller ett tal som är högre än containerns längd, kan orsaka oförutsägbara fel.

Returvärde

Elementet i containern på den position som anges av talparametern. ConPeek-funktionen konverterar automatiskt det kikade objektet till den förväntade returtypen. Strängar kan automatiskt konverteras till heltal och verkliga tal, och heltal och verkliga tal kan konverteras till strängar.

Example

static void main(Args _args)
{
    container cnI, cnJ;
    int i, j;
    anytype aty;
    
    info("container cnI ...");
    cnI = ["itemBlue", "itemYellow"];

    for (i=1; i <= conLen(cnI); i++)
    {
        aty = conPeek(cnI, i);
        info(int2str(i) + " :  " + aty);
    }

    info("container cnJ ...");
    cnJ = conIns(cnI, 2, "ItemInserted");

    for (j=1; j <= conLen(cnJ); j++)
    {
        aty = conPeek(cnJ, j);
        info(int2str(j) + " :  " + aty);
    }
}
/***  Output pasted from InfoLog ...
Message (10:20:03 am)
container cnI ...
1 :  itemBlue
2 :  itemYellow
container cnJ ...
1 :  itemBlue
2 :  ItemInserted
3 :  itemYellow
***/

conPoke

Ändrar en container genom att ersätta ett eller flera av de befintliga elementen.

Syntax

container conPoke(container container, int start, anytype element, ...)

Parameterar

Parameter Description
container Containern som ska ändras.
start Positionen för det första elementet som ska ersättas.
element Ett eller flera element som ska ersättas, avgränsade med kommatecken.

Returvärde

En ny container som innehåller de nya elementen.

Anmärkningar

Det första elementet i containern anges med talet 1.

Example

static void conPokeExample(Args _arg)
{
    container c1 = ["item1", "item2", "item3"];
    container c2;
    int i;

    void conPrint(container c)
    {
        for (i = 1 ; i <= conLen(c) ; i++)
        {
            print conPeek(c, i);
        }
    }

    conPrint(c1);
    c2 = conPoke(c1, 2, "PokedItem");
    print "";
    conPrint(c2);
}