Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell布尔返回数组_Powershell - Fatal编程技术网

Powershell布尔返回数组

Powershell布尔返回数组,powershell,Powershell,我试图从函数返回$true或$false,然后得到一个数组。 如果我删除列表框消息,它将按预期工作。有人知道为什么吗 function TestEmptyFields() { $empty= $false $listBox1.Items.Add("Testing fields") if ($txtPrtName.get_text()-eq "") { $listBox1.Items.Add("Empty name") $empty= $true } e

我试图从函数返回$true或$false,然后得到一个数组。 如果我删除列表框消息,它将按预期工作。有人知道为什么吗

function TestEmptyFields()
{
  $empty= $false

  $listBox1.Items.Add("Testing fields")

  if ($txtPrtName.get_text()-eq "")
  {
    $listBox1.Items.Add("Empty name")
    $empty= $true
  }
  elseif ($txtPrtIP.get_text() -eq "")
  {
    $listBox1.Items.Add("Empty Ip")
    $empty= $true
  } 
  else 
  {
    $empty= $false
  }

  $listBox1.Items.Add($txtPrtName.get_text())
  $listBox1.Items.Add($txtPrtIP.get_text())

  return $empty
}
但它的工作原理是这样的:

function TestEmptyFields()
{
  if($txtPrtName.get_text()-eq "")
  {
    return $true
  }
  elseif ($txtPrtIP.get_text() -eq "")
  {
    return $true
  }
  else
  {
    return $false
  }
}

在powershell中
返回$empty
在功能上等同于
$empty;return
——实现这种行为是为了让有C风格语言背景的人更轻松,但实际上返回的信息比你想象的要多!列表框也返回内容。事实上,任何未分配给变量或其输出为空的内容都将到达输出流。要解决此问题,请尝试将listbox强制转换为
[void]
,如下所示:

[void] $listBox1.Items.Add("Testing fields")

在表单上下文中正确使用列表框也不会有什么坏处。

您之前是否尝试过返回值?i、 e.不写入
$empty=$true
,而是直接
返回$true
?除此之外,如果我们没有分配/声明
$txtPrtName
$txtPrtIP
$listBox1
的部分,那么要帮助您调试它就不那么容易了。我还建议您不要在函数中处理全局变量,而是将它们作为该函数的参数。谢谢,我已经尝试过了,这是相同的行为。但它的工作原理是:函数TestEmptyFields(){if($txtPrtName.get_text()-eq“”){return$true}elseif($txtPrtIP.get_text()-eq“”){return$true}否则{return$false}您可以在函数中包含设置您正在测试的变量的代码吗?或者将它们设置为参数吗?谢谢:-),如果您不介意的话,这就是它的插件-