PowerShell 7: boş koşullu işleç? VE ?[]

Womanne

Member
PowerShell 7.0, boş koşullu işleç adı verilen deneysel bir özelliğe sahiptir ?. tek nesneler için e ?[] miktarlar için.


Önce bu özelliği etkinleştirmeniz gerekir:

Enable-ExperimentalFeature PSNullConditionalOperators

Özelliği etkinleştirdikten ve PowerShell 7 konsolunun yeni bir örneğini başlattıktan sonra, artık PowerShell dilinde boş referans hatalarını algılayan bir operatör var ve sürüm 6.0’dan bu yana C# programlama dilinde de mevcut: ?. yerine .

Nokta işleci, değeri içeren bir nesneye uygulandığında bir çalışma zamanı hatasıyla çökerken $null (örneğin, başlatılmamış bir değişken), ?. bu durumda hoşgörülü ve verir $null daha öte.

PowerShell’de bunun yeterli olmadığına dikkat edilmelidir. . Başından sonuna kadar ?. C#’daki gibi değiştirilecek. Bunun yerine, değişken adını kaşlı ayraçlar içinde yazmalısınız. Bunun nedeni, PowerShell’deki soru işaretinin değişken adının bir parçası olabilmesidir.

${variablenname}?.Methode()

VEYA


${ variablenname }?.Property

Aşağıdaki ekran görüntüsü ayrıntıları gösterir:




PowerShell 7'de boş koşullu işleç



PowerShell 7’de boş koşullu işleç



ile üye erişimi ayarla?[]


Yeni bir küme işleci kurulur ?[] A. kalabalıktan

$menge = $null

komutu yönetir

$menge[100]

genellikle çalışma zamanı hatasına: “InvalidOperation: Bir boş diziye dizin yapılamıyor”.

Komuta

${menge}?[100]

hataya yol açmaz çünkü $null teslimat. Operatör ?[] var olmayan, başlatılmış bir koleksiyonun bir öğesine erişirken gereksizdir.

$menge = 1..10
$menge[100]

Bu durumda çalışma zamanı hatası yoktur. Ancak burada da uyarı yazılabilir.

${menge}?[100]

$set’in başlatılıp başlatılmadığından emin değilseniz.


()



Haberin Sonu
 
Üst