2016-04-07 9 views
2

Bu powershell kodunda neden son ifade doğru olarak çözülüyor?Powershell'de dizeler boş olabilir mi?

PS C:\> $s = [System.String]$null 
PS C:\> $s.GetType() 
IsPublic IsSerial Name          BaseType                 
-------- -------- ----          --------                 
True  True  String         System.Object 
PS C:\> $s -eq "" 
True 
+2

'$ s = [System.String] [NullString] :: Değer ' – PetSerAl

+0

Evet, hatta' '[System.String] $ s = [System.String] [NullString] :: Değer'. [Variable '$ null'] (https://technet.microsoft.com/en-us/library/hh847768.aspx) 'nin anlamı NULL ___or___ boş bir değerdir. Biraz [Powershell'den bir dizeyi bekleyen bir .NET API'sine geçirme olasılığı var mı?] (Http://stackoverflow.com/questions/2002570/) –

+0

[related] ile ilgili [https://stackoverflow.com/q/] 45720150/1404637) – alx9r

cevap

0

Temelde böylece string.IsNullOrEmpty (yazma) veya PowerShell bir ipe Boş bir başvuru almak zorunda asla . Tony Hoare "Boş Referanslar: Milyar Doları Hatası" konusuna bakın.