class 类型对象的 Powershell 列表
Powershell list of objects of a class type
我正在尝试遍历 class 类型的对象列表。
class 看起来像这样:
Class UrlTestModel
{
[String]$Name
[String]$Url
[String]$TestInProd
}
所以我希望能够创建一个包含上述三个字符串的对象列表,然后遍历该列表并对数据进行处理。
出于某种原因,我看不到这样做的方法。看起来很简单。我是 powershell 的新手,来自 C# 背景,所以我可能也在考虑 C# 而没有足够的 powershell。 :)
您可以这样创建一个新实例:
New-Object -TypeName "UrlTestModel" -Property @{
Name = "string"
Url = "string"
TestInProd = "string"
}
或者在你的 class 中定义一个构造函数:
class UrlTestModel
{
[String]$Name
[String]$Url
[String]$TestInProd
UrlTestModel([string]$name, [string]$url, [string]$testInProd) {
$this.Name = $name
$this.Url = $url
$this.TestInProd = $testInProd
}
}
然后像这样创建一个新实例:
[UrlTestModel]::new("string", "string", "string")
您可以在 about_Classes 中阅读更多相关信息。
列表基本上是使用 comma operator:
创建的
$list = [UrlTestModel]::new("name1", "url1", "true"), [UrlTestModel]::new("name2", "url2", "false")
# or
$a = New-Object -TypeName UrlTestModel -Property @{Name = "string"; Url = "string"; TestInProd = "string" }
$b = New-Object -TypeName UrlTestModel -Property @{Name = "string"; Url = "string"; TestInProd = "string" }
$list = $a, $b
使用 ForEach-Object cmdlet or the foreach 语句遍历列表:
$list | ForEach-Object {
# this is the current item:
$_
}
# or
foreach ($item in $list) {
# ...
}
我正在尝试遍历 class 类型的对象列表。 class 看起来像这样:
Class UrlTestModel
{
[String]$Name
[String]$Url
[String]$TestInProd
}
所以我希望能够创建一个包含上述三个字符串的对象列表,然后遍历该列表并对数据进行处理。 出于某种原因,我看不到这样做的方法。看起来很简单。我是 powershell 的新手,来自 C# 背景,所以我可能也在考虑 C# 而没有足够的 powershell。 :)
您可以这样创建一个新实例:
New-Object -TypeName "UrlTestModel" -Property @{
Name = "string"
Url = "string"
TestInProd = "string"
}
或者在你的 class 中定义一个构造函数:
class UrlTestModel
{
[String]$Name
[String]$Url
[String]$TestInProd
UrlTestModel([string]$name, [string]$url, [string]$testInProd) {
$this.Name = $name
$this.Url = $url
$this.TestInProd = $testInProd
}
}
然后像这样创建一个新实例:
[UrlTestModel]::new("string", "string", "string")
您可以在 about_Classes 中阅读更多相关信息。
列表基本上是使用 comma operator:
创建的$list = [UrlTestModel]::new("name1", "url1", "true"), [UrlTestModel]::new("name2", "url2", "false")
# or
$a = New-Object -TypeName UrlTestModel -Property @{Name = "string"; Url = "string"; TestInProd = "string" }
$b = New-Object -TypeName UrlTestModel -Property @{Name = "string"; Url = "string"; TestInProd = "string" }
$list = $a, $b
使用 ForEach-Object cmdlet or the foreach 语句遍历列表:
$list | ForEach-Object {
# this is the current item:
$_
}
# or
foreach ($item in $list) {
# ...
}