【问题标题】:Powershell equivalent of C# List with CoordinatesPowershell 等效于 C# List with Coordinates
【发布时间】:2018-04-14 21:37:34
【问题描述】:

我正在尝试将一些 C# 代码转换为 Powershell 代码。

我遇到的问题是尝试在 Powershell 中创建一个与 C# 中的该数组形式相同的数组:

List<Coordinate> coordinates = new List<Coordinate>();
    coordinates.Add(new Coordinate(0, 0));
    coordinates.Add(new Coordinate(500, 100));
    coordinates.Add(new Coordinate(200, 400));

我在 Powershell 中的最佳尝试是这样的:

$Coordinates = @((0,0),(500,100),(200,400))

但是当我使用 $Coordinates 时,它不适用于我提供给它的 API,就像 C# 坐标使用相同的 API 一样。我在这里错过了什么?

【问题讨论】:

    标签: c# arrays list powershell


    【解决方案1】:

    直接翻译代码 - 需要注意的是您需要为构造函数使用完全限定的类型名称:

    $coordinates = New-Object 'System.Collections.Generic.List[Namespace.Coordinate]'
    $coordinates.Add($(New-Object Namespace.Coordinate 0,0))
    $coordinates.Add($(New-Object Namespace.Coordinate 500,100))
    $coordinates.Add($(New-Object Namespace.Coordinate 200,400))
    

    【讨论】:

    • 遗憾的是这对我不起作用。 Powershell 向我吐了一些红色文本:New-Object:找不到类型 [System.Collections.Generic.List[Namespace.Coordinate]]:验证是否已加载包含此类型的程序集。
    • Namespace.Coordinate替换为Coordinate类的实际类型名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2018-01-15
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多