powershell - 哈希表成员的静态类型
问题描述
我知道默认情况下 PowerShell 是动态类型的,这对于“快速而肮脏”的单行和短脚本很有意义。但是我已经开始尝试在我的长脚本中按类型声明变量,因为它避免了某些错误。这适用于常规变量,即使像这样初始化为 $null 也是如此[int]$int = $null
。但是,我也使用大量哈希表从函数返回多个值,我也想在那里使用静态类型。但是你不能使用像这样的类似方法......
$hash = @{
[int]int = $null
[string]string = $null
}
你可以这样投...
$hash = @{
int = [int]$null
string = [string]$null
}
但这仍然使散列成员保持动态,因此 $hash.int ='string'
是有效的。
我可以切换到使用自定义对象,但我发现它相当难看,v3 类型的加速器无法承受。可悲的是,我也几乎被锁定支持 v2,所以我觉得哈希表仍然是要走的路。
那么,有没有办法在我缺少的哈希表中做到这一点?或者这是自定义对象的原因?
解决方案
推荐阅读
- laravel - 拉拉弗 | 在 master.blade.php 上隐藏包含的元素
- xamarin - NavigationPage + CarouselPage:奇怪的滚动错误
- bash - 将每行中的所有数字相加,并将它们的平均值添加到行尾 Bash
- java - 如何在Java中将字符串连接成一个字符串?
- javascript - jQuery 雪插件不会在所有页面上显示相同数量的雪
- r - 当向量的项不匹配时使用 which 和 %in%
- python - np.vectorize 返回不正确的舍入结果
- android - 运行 ReactNative 项目时连接被拒绝错误
- migration - 将 100 多个 repos 迁移到 gitlab 并保持相同的 repo 路径
- oracle - 无法使用 ODBC 连接到一个 Oracle 数据库