7

PowerShell は、算術演算と変換の後に境界チェックを実行しているようです。たとえば、次の操作は失敗します。

[byte]$a = 255
$a++

$a = [byte]256

モジュロまたは C# と Add-Type による手動計算に頼らずに、オーバーフローまたは型キャストを強制する方法はありますか?

4

2 に答える 2

1

PowerShell はスクリプト言語であり、プログラミング言語ではありません。演算子のオーバーロードなどの多くの高度な手法をサポートしていません (この場合は便利です)。

すでに提案したことに追加するには、エラーをキャッチするだけです。

[byte]$a = 255
try {$a++} catch {$a=1}

または、独自の関数を作成して、そこでモジュロを楽しんでください。

于 2013-03-31T21:47:28.773 に答える