pwsh中的秒表

function StopWatch {
    $stopwatch = [System.Diagnostics.Stopwatch]::new()
    $stopwatch.Start()

    while ($true) {
        if ([System.Console]::KeyAvailable) {
            $key = [System.Console]::ReadKey($true)
            if ($key.Key -eq "Enter") {
                $stopwatch.Stop()
                break
            }
        } else {
            $elapsedTime = $stopwatch.Elapsed
            Write-Host -NoNewLine "`r$($elapsedTime.Hours):$($elapsedTime.Minutes):$($elapsedTime.Seconds).$($elapsedTime.Milliseconds)"
        }
    }
}

pwsh中构建一个秒表非常简单,直接调用.net的模块就可以,按下enter停止计时就完成了。