Freigeben über


Container-Laufzeitfunktionen für X++

Hinweis

Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.

In diesem Artikel werden die Laufzeitfunktionen des Containers beschrieben.

Diese Funktionen bearbeiten den Inhalt von Containern.

conDel

Entfernt die angegebene Anzahl von Elementen aus einem Container.

Syntax

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

Die Parameter

Parameter Description
container Der Container, aus dem Elemente entfernt werden sollen.
start Die 1-basierte Position, an der elemente entfernt werden sollen.
number Die Anzahl der zu löschenden Elemente.

Rückgabewert

Ein neuer Container, der die entfernten Elemente nicht enthält.

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

Sucht das erste Vorkommen eines Elements in einem Container.

Syntax

int conFind(container container, anytype element)

Die Parameter

Parameter Description
container Der zu durchsuchende Container.
Element Das element, nach dem gesucht werden soll.

Rückgabewert

0 , wenn das Element nicht gefunden wurde; andernfalls die Sequenznummer des Elements.

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

Fügt ein oder mehrere Elemente in einen Container ein.

Syntax

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

Die Parameter

Parameter Description
container Der Container, in den Elemente eingefügt werden sollen.
start Die Position, an der Elemente eingefügt werden sollen.
Element Ein oder mehrere Elemente, die durch Kommas getrennt eingefügt werden sollen.

Rückgabewert

Ein neuer Container, der die eingefügten Elemente enthält.

Bemerkungen

Das erste Element des Containers wird durch die Zahl 1 angegeben. Um nach dem n-Element einzufügen, sollte der Startparameter n+1 sein. Sie können den += Operator auch verwenden, um einem Container Werte eines beliebigen Typs hinzuzufügen. Wenn Sie beispielsweise einen Container erstellen möchten, der die Quadratwerte der ersten 10 Schleifeniterationen enthält, verwenden Sie den folgenden Code.

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

Ruft die Anzahl der Elemente in einem Container ab.

Syntax

int conLen(container container)

Die Parameter

Parameter Description
container Der Container, in dem die Anzahl der Elemente gezählt werden soll.

Rückgabewert

Die Anzahl der Elemente im Container. Der ConNull-Container hat keine Elemente.

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

Ruft einen leeren Container ab.

container conNull()

Rückgabewert

Ein leerer 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

Ruft ein bestimmtes Element aus einem Container ab und konvertiert es bei Bedarf in einen anderen Datentyp.

Syntax

anytype conPeek(container container, int number)

Die Parameter

Parameter Description
container Der Container, von dem ein Element zurückgegeben werden soll.
number Die Position des zurückzugebenden Elements. Geben Sie 1 an, um das erste Element abzurufen. Eine ungültige Positionsnummer, z. B. -3, 0 oder eine Zahl, die höher als die Länge des Containers ist, kann zu unvorhersehbaren Fehlern führen.

Rückgabewert

Das Element im Container an der Position, die durch den Zahlenparameter angegeben wird. Die ConPeek-Funktion konvertiert das vorschauierte Element automatisch in den erwarteten Rückgabetyp. Zeichenfolgen können automatisch in ganze Zahlen und reelle Zahlen konvertiert werden, und ganze Zahlen und reale Zahlen können in Zeichenfolgen konvertiert werden.

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

Ändert einen Container, indem ein oder mehrere der vorhandenen Elemente ersetzt werden.

Syntax

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

Die Parameter

Parameter Description
container Der zu ändernde Container.
start Die Position des ersten zu ersetzenden Elements.
Element Ein oder mehrere Elemente, die durch Kommas getrennt werden sollen.

Rückgabewert

Ein neuer Container, der die neuen Elemente enthält.

Bemerkungen

Das erste Element des Containers wird durch die Zahl 1 angegeben.

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);
}