powershell - 如何在powershell中使用system.tuple?

标签 powershell tuples

只是出于好奇,这不是“我必须拥有它”,而是如何在 powershell 中使用 system.tuple 类声明元组?

我正在使用 powershell.exe.config 加载框架 4.0,但我无法创建元组。

试试这个:

PS C:\ps1> $a = [System.Tuple``2]::Create( "pino", 34)

Chiamata al metodo non riuscita. [System.Tuple`2] non contiene un metodo denominato 'Create'.
In riga:1 car:31
+ $a = [System.Tuple``2]::Create <<<< ( "pino", 34)
    + CategoryInfo          : InvalidOperation: (Create:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

对不起意大利 sample ...

谢谢你的帮助。

编辑:

如果我尝试:
PS C:\ps1> $a = [System.Tuple]::Create(34,"pino")

Impossibile trovare un overload per "Create" e il numero di argomenti: "2".
In riga:1 car:28
+ $a = [System.Tuple]::Create <<<< (34,"pino")
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

最佳答案

这里有一个方法

PS> $a = New-Object 'Tuple[string,int]'("Jack", 78)
PS> $a

Item1                                             Item2
-----                                             -----
Jack                                              78

另一个
PS> $dpt = New-Object 'Tuple[string,string,int]'("Cantal", "Aurillac", 15)
PS> $dpt.Item2
Aurillac

- - - 编辑 - - -

召回

要查看您使用的是哪个 CLR,只需使用 $PSVersionTable
PS C:\> $PSVersionTable
Name                           Value
----                           -----
CLRVersion                     2.0.50727.4959
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

如果您希望 PowerShell 开始使用 CLR 4.0,您必须放置文件 powershell.exe.config在文件夹 $PSHOME (C:\Windows\System32\WindowsPowerShell\v1.0)

powershell.exe.config :
<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319"/>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

结果 :
PS C:\Users\JPB> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      2.0
PSCompatibleVersions           {1.0, 2.0}
BuildVersion                   6.1.7600.16385
PSRemotingProtocolVersion      2.1
WSManStackVersion              2.0
CLRVersion                     4.0.30319.225
SerializationVersion           1.1.0.1

关于powershell - 如何在powershell中使用system.tuple?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882187/

相关文章:

powershell - 具有字符参数的Powershell -invokesql

arrays - 在 Powershell 中从数组中提取数据

Powershell Windows 2003 通配符不起作用

PowerShell,使用 Start-Job 和 Start-Process 测试异步任务的性能/效率

python - 为什么 Python 中的元组使用 reversed 但没有 __reversed__?

python - 在Python中迭代嵌套元组

powershell - 计算目录中的文件数以及文件夹数

tuples - 如何在 Julia 中编写一组元素的外积?

F# 展平嵌套元组

c# - 为什么我们不能给元组中的属性命名?