Ric*_*bby 2 c# powershell loops
我将我的C#程序移到Powershell,而我一直试图转换我已经工作过的for循环。我不知道该如何措辞,但是我在for循环中需要多个计数器变量,而且我一直无法弄清楚该怎么做。我也无法在线找到任何参考,所以我不知道这是否是Powershell的限制。
所以,这就是我的意思,在C#中,我有:
for (int k = 1, file = 1, perFile = 0; k <= splitGroups; k++, file++, perFile += dtotalPerFile){
}
Run Code Online (Sandbox Code Playgroud)
当然变量名称/类型无关紧要,所以我的问题是如何将其重构到Powershell中?是否可以使用For循环?还是我需要花点时间来达到相同的结果。
PowerShell的for
循环可以做到这一点,但是语法可能有点尴尬。
您需要在中为for
循环的每个“部分”包装多个语句$()
,因此看起来像这样:
for ( $($k = 1 ; $file = 1 ; $perFile = 0) ; $k -le $splitGroups; $( $k++ ; $file++ ; $perFile += $dtotalPerFile) ) {
# stuff
}
Run Code Online (Sandbox Code Playgroud)
for
循环的确允许换行而不是分号,并且子表达式也允许换行,因此您可以对其进行一些清理:
for (
$(
$k = 1
$file = 1
$perFile = 0
)
$k -lt $splitGroups
$(
$k++
$file++
$perFile += $dtotalPerFile
)
) {
# stuff
}
Run Code Online (Sandbox Code Playgroud)
虽然还是一团糟。
有效的概念证明(因为我们没有您的变量):
for (
$(
$a = 0
$b = 10
)
$a -lt 10
$(
$a++
$b += 10
)
) {
"$a~$b"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
194 次 |
最近记录: |