使用 PowerShell select 字符串的第一个字符的最快和最简洁的方法是什么?

What is the fastest and most concise way to select the first character of a string using PowerShell?

目的:从字符串中提取第一个字符,即8应该从8.0.26

中提取

尝试: "8.0.26".substring(0,1) returns 8

问题:这是使用 PowerShell 从字符串中选择第一个字符的最快、最简洁的方法吗?

我的意思是我想这取决于你所说的最快。最高效?打字最快?你想要 [char] 还是 [string]?

"8.0.26"[0]
[string]"8.0.26"[0]

我没有任何证据,但这段代码似乎证明索引(如 briantist 的回答)更快。

"starting"

$foo = "hello"
for ($i = 0; $i -lt 1000000; $i++) {
    $bar = $foo[0]
    #$bar = $foo.substring(0,1)
}

"stopping"

自己试试看。

更新:运行 Measure-Command 并确认在我的计算机上索引字符串比子字符串更快。您的里程可能会有所不同。