Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O operador safe-dereference fornece uma maneira de acessar propriedades de um objeto ou elementos de uma matriz de maneira segura. Ajuda a evitar erros que podem ocorrer ao tentar acessar propriedades ou elementos sem o devido conhecimento de sua existência ou valor.
desreferenciação segura
<base>.?<property>
<base>[?<index>]
Um operador de desreferência segura aplica uma operação de acesso de membro, .?<property>ou acesso de elemento, [?<index>]ao seu operando somente se esse operando for avaliado como não-nulo, caso contrário, ele retornará null. Isso é
- Se
aavalia anull, o resultado dea.?xoua[?x]énull. - Se
aé um objeto que não tem umaxpropriedade, entãoa.?xénull. - Se
aé um objeto que não tem um elemento no índicex, entãoa[?x]énull - Se
aé uma matriz cujo comprimento é menor ou igual ax, entãoa[?x]énull. - Se
anão for nulo e tiver uma propriedade chamadax, o resultado dea.?xé o mesmo que o resultado dea.x. - Se
afor não-nulo e tiver um elemento no índicex, o resultado dea[?x]é o mesmo que o resultado dea[x]
Os operadores de desreferenciação segura estão em curto-circuito. Ou seja, se uma operação em uma cadeia de operações de acesso a membros ou elementos condicionais retornar null, o restante da cadeia não será executado. No exemplo a seguir, .?name não é avaliado se storageAccountsettings[?i] for avaliado como null:
param storageAccountSettings array = []
param storageCount int
param location string = resourceGroup().location
resource storage 'Microsoft.Storage/storageAccounts@2025-06-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'
}
}]
Próximos passos
- Para executar os exemplos, use a CLI do Azure ou o Azure PowerShell para implantar um arquivo Bicep.
- Para criar um arquivo Bicep, consulte Guia de início rápido: criar arquivos Bicep com o Visual Studio Code.
- Para obter informações sobre como resolver erros de tipo Bicep, consulte Qualquer função para Bicep.