PowerShell中等价于带有坐标的C# List

3

我正在尝试将一些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配合使用一样。我在这里失去了什么?

1个回答

3

直接翻译代码 - 但需要使用完全限定类型名称来调用构造函数:

$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]]:请验证包含此类型的程序集是否已加载。 - TDaz
Coordinate 类的实际类型名称替换 Namespace.Coordinate - Mathias R. Jessen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接