理解powershell中的循环结构

理解powershell中的循环结构,powershell,Powershell,请指导我如何从b到z打印字母表 在循环中。 我想要的东西如下: for x in {b..z} { testdata.$x } 我尝试了下面的方法,但有点困惑,我只是想用我的测试数据打印a..z,我应该把我的测试数据放在哪里 $alphabet = @() for ([byte]$c = [char]'b'; $c -le [char]'d'; $c++) { $alphabet += [char]$c } [String]::Join(", ", $alpha

请指导我如何从b到z打印字母表 在循环中。 我想要的东西如下:

for x in {b..z} {
testdata.$x }
我尝试了下面的方法,但有点困惑,我只是想用我的测试数据打印a..z,我应该把我的测试数据放在哪里

$alphabet = @()  

for ([byte]$c = [char]'b'; $c -le [char]'d'; $c++)  
{  
    $alphabet += [char]$c  
}  

[String]::Join(", ", $alphabet) 
Tq

类似这样的内容:

for ([byte]$c = [char]'b'; $c -le [char]'z'; $c++)  
{  
    "testdata.$([char]$c)"  
}  

[char]
类型加速器将整数值转换为其等效的ASCII字符(从技术上讲,它实际上是等效的ANSI字符,但现在我们忽略它,因为它与手头的问题无关)

如果你看一下,你会发现大写字母a-Z的范围从65到90,小写字母a-Z的范围从97到122。要构建字符“b”到“z”的列表,请使用获取整数值98到122的列表,并将其转换为
[char]

$alphabet = 98..122 | ForEach-Object { [char]$_ }

您的原始代码,141个字符

Autosvet代码,52个字符

Ansgar Wiecher代码,49个字符

书写字母表并将其转换为一组字符更简短、更清晰:

$alphabet = [char[]]'bcdefghijklmnopqrstuvwxyz'
e、 g


如果要按字符数进行优化:
$a=98..122 |%{[char]$}
,22个字符@AnsgarWiechers我不想把它打得越远越好,但我认为人们想要“英文字母表”是荒谬和奇怪的,他们不想写一个简单、清晰、26个字符的字符串并列举它,而是宁愿写三到四倍的代码,有更多的机制——循环、循环变量,三重大量的铸造,魔术整数,多行代码。是的
98..122
很短,但不太清楚它们是“从'b'到'z'的ASCII字符”,也不清楚98是故意从'b'开始的,并且不是'a'的错误@AnsgarWiechers,但如果我想:
[char[]$a=98..122
是18个字符;)哦,不错。我没想到^_^顺便说一句,我并不反对“更清晰”的部分,尽管字母字符串容易被输入错误。
$alphabet | foreach-object {

    "testing-$_"

}