所有字符串的新行添加到一个

New line for all strings added to one

如何将所有字符串添加到一个变量中,每个变量都在新行中 我已经尝试了所有这些选项,但似乎没有任何效果 *这里所有的变量类型都是字符串所以这不是问题

$Body = $alerts[1].description("'n") + $alerts[1].name("'n") + alerts[1].timeadded

$Body = $alerts[1].description "`n" + $alerts[1].name "`n" + $alerts[1].timeadded

$Body = $alerts[1].description `n + $alerts[1].name `n + $alerts[1].timeadded

$Body = $alerts[1].description `n  $alerts[1].name `n $alerts[1].timeadded

我希望 $body 的输出分别出现在新行中:

$alerts[1].description
$alerts[1].name
$alerts[1].timeadded

我相信你要找的是:

$Body = $alerts[1].description + "`n" + $alerts[1].name + "`n" + $alerts[1].timeadded

字符 `n 对应一个换行符,它应该像您描述的那样连接字符串。

在制作格式很重要的多行字符串时,您始终可以使用 here string and/or the format operator

$Body = @"
$($alerts[1].description)
$($alerts[1].name)
$($alerts[1].timeadded)
"@

$Body = @"
{0}
{1}
{2}
"@ -f $alerts[1].description, $alerts[1].name, $alerts[1].timeadded

$Body = "{0}`r`n{1}`r`n{2}" -f $alerts[1].description, $alerts[1].name, $alerts[1].timeadded

当您开始添加更多信息时,这两种方法的特点会更加明显。

$Body = @"
The alert is described as: {0}
It has a name of {1}
This happened at {2} local time.
"@ -f $alerts[1].description, $alerts[1].name, $alerts[1].timeadded