我正在尝试验证变量00:00:00.1127145
和$var1
的空值或空值。有人可以告诉我我在做什么错吗?
$var2
:
testing.ps1
输出:
PS> .\testing.ps1 Value of Variable 1 : Value of Variable 2 : PS> $defaultvar1=123 PS> $defaultvar2=678 PS> .\testing.ps1 Value of Variable 1 : 123 Value of Variable 2 : 678 PS> $defaultvar2="" PS> .\testing.ps1 Value of Variable 1 : 123 Value of Variable 2 :
答案 0 :(得分:2)
Lee_Daily指出:
参数默认值未经 验证-假设您作为函数作者将确保这些值有效。
一个简单的例子:
PS> & { param([ValidateNotNullOrEmpty()] $foo = '') "foo: [$foo]" }
foo: []
也就是说,''
很高兴被接受为默认值,即使它与[ValidateNotNullOrEmpty()]
相矛盾。
此外,通常不应使用功能外部变量值作为参数默认值,因为这会使功能的行为难以预测。
相反,使用:
$foo = 'bar'
)或
$foo = (Get-Date)
)也就是说,Mike Shepard指出,引用变量 是一个选项, if :