[英]Powershell - output a foreach loop to one line
我正在嘗試獲取我的 foreach 循環的 output 並將該數組應用於一行讀取的字符串。 到目前為止,這是我的代碼:
$upper = 65..90
$lower = 97..122
foreach ($i in $upper)
{
[char]$i
}
foreach ($i in $lower)
{
[char]$i
}
我猜我需要將腳本塊的 output 轉換為一個變量並使用 -join 選項,但我到處都在努力尋找如何構造它。 任何指導將不勝感激。
對於這種特殊情況, ForEach(type convertToType)
非常有用,這是獲取小寫和大寫字典字符串的一種很酷的方法:
$lowerDict = [string]::new(([int][char]'a'..[int][char]'z').ForEach([char]))
$upperDict = $lowerDict.ToUpper()
如果可以訪問PowerShell Core,可以簡化為:
$lowerDict = [string]::new('a'..'z')
$upperDict = $lowerDict.ToUpper()
至於你在努力做什么,如何用你目前擁有的東西(一個foreach
循環)來做。 您可以先從循環中捕獲所有 output:
$upper = foreach ($i in 65..90) { [char]$i }
現在, $upper
是一個字符數組,然后將其轉換為字符串,您可以使用-join
(猜對了)或[string]::new(...)
就像我在上一個示例中所做的那樣:
$upperDict = -join $upper
# OR
$upperDict = [string]::new($upper)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.