Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell中[Char[]]的用途_Powershell_Powershell 3.0 - Fatal编程技术网

PowerShell中[Char[]]的用途

PowerShell中[Char[]]的用途,powershell,powershell-3.0,Powershell,Powershell 3.0,PowerShell中[char[]]的基本用途是什么。是解析到char数组吗? 例如: $random = Get-Random -Minimum 0 -Maximum 5; $names="America","Iran","Poland","Cat","PowerShell"; $targetWord = $names[$random]; [Char[]]$wordProgress = "_" * $targetWord.Length 默认情况下,PowerShell会按照操作的要求动态

PowerShell中[char[]]的基本用途是什么。是解析到char数组吗? 例如:

$random = Get-Random -Minimum 0 -Maximum 5;
$names="America","Iran","Poland","Cat","PowerShell";
$targetWord = $names[$random];
[Char[]]$wordProgress =  "_" * $targetWord.Length

默认情况下,PowerShell会按照操作的要求动态进行类型转换

$MyAnswer = 4 + 4
Write-Host $MyAnswer
将看到操作4+4并将其存储为整数值8。在上面的脚本中,它将写入整数8

PowerShell还可以灵活地进行严格的类型转换,您可以显式地使用数据类型

$MyAnswer = [string]4 + 4
Write-Host $MyAnswer

这两个函数都将两个4视为一个字符串,并写出“44”

至于上面的脚本正在做什么,它正在为$targetWord变量中的每个字母(char)创建一个由“ux”字符组成的字符数组

如果您从控制台运行它,并且

写入主机$targetWord 写入主机$wordProgress

你得到(在我的情况下)


[char[]]只是一个字符数组的显式声明,用于覆盖任何奇数的默认PowerShell行为。

“*$targetWord.Length这是什么?”这是一个乘法运算,它执行字符“\u”乘以$targetWord变量中的单词长度。关于[string]$MyAnswer=4+4将输出4+4的信息不正确。由于您在左侧使用[string],首先将执行计算,结果(8)将存储在string类型的变量中。@AdilH您是对的,已更新。“编写刽子手游戏”是PowerShell课程的常见项目吗?这个项目来自哪个层次的学校?我只是好奇,如果这个问题与家庭工作有关,我并不反对。我知道我至少看过另外两个关于“PowerShell刽子手”的问题。^是的,这是PowerShell中的一个刽子手游戏。它来自SE。为了回答您在这里真正提出的问题:
[char[]]
的目的是向char数组实际转换一个值,就像您可以对几乎任何其他.Net类型进行case一样。:)
$MyAnswer = "4" + "4"
Write-Host $MyAnswer
 America
 _ _ _ _ _ _ _