Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der safe-dereference-Operator ermöglicht den sicheren Zugriff auf die Eigenschaften eines Objekts oder auf die Elemente in einem Array. Mithilfe dieses Operators können Fehler vermieden werden, wenn versucht wird, auf Eigenschaften oder Elemente zuzugreifen, wenn deren Existenz oder Wert nicht genau bekannt ist.
safe-dereference
<base>.?<property>
<base>[?<index>]
Ein safe-dereference-Operator wendet nur dann eine Operation mit Memberzugriff (.?<property>) oder Elementzugriff ([?<index>]) auf seinen Operanden an, wenn dieser Operand mit ungleich NULL ausgewertet wird. Andernfalls gibt er NULL zurück. Dies bedeutet:
- Wenn
aalsnullausgewertet wird, ist das Ergebnis vona.?xodera[?x]null. - Wenn
aein Objekt ist, das keinex-Eigenschaft hat, dann gilt:a.?xistnull. - Wenn
aes sich um ein Objekt handelt, das nicht über ein Element im Indexxverfügt, ist diesa[?x]null - Wenn
aein Array ist, dessen Länge kleiner oder gleichxist, dann gilt:a[?x]istnull. - Wenn
aungleich NULL ist und über eine Eigenschaft namensxverfügt, entspricht das Ergebnis vona.?xdem Ergebnis vona.x. - Wenn
aungleich NULL ist und über ein Element beim Indexxverfügt, entspricht das Ergebnis vona[?x]dem Ergebnis vona[x].
Die safe-dereference-Operatoren sind Kurzschlussoperatoren. D.h., wenn ein Vorgang in einer Kette von bedingten Member- oder Elementzugriffsvorgängen null zurückgibt, wird der Rest der Kette nicht ausgeführt. Im folgenden Beispiel wird .?name nicht ausgewertet, wenn storageAccountsettings[?i] als null ausgewertet wird:
param storageAccountSettings array = []
param storageCount int
param ___location string = resourceGroup().___location
resource storage 'Microsoft.Storage/storageAccounts@2023-04-01' = [for i in range(0, storageCount): {
name: storageAccountSettings[?i].?name ?? 'defaultname'
___location: storageAccountSettings[?i].?___location ?? ___location
kind: storageAccountSettings[?i].?kind ?? 'StorageV2'
sku: {
name: storageAccountSettings[?i].?sku ?? 'Standard_GRS'
}
}]
Nächste Schritte
- Verwenden Sie zum Ausführen der Beispiele die Azure CLI oder Azure PowerShell, um eine Bicep-Datei bereitzustellen.
- Informationen zum Erstellen einer Bicep-Datei finden Sie unter Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio Code.
- Informationen zum Beheben von Bicep-Typfehlern finden Sie unter any-Funktion für Bicep.