zoukankan      html  css  js  c++  java
  • [转][PowerShell] powershell hashtable 的遍历

     

    如下我们创建一个hashtable

    $hash=@{"name"="ff"}
    $hash.Add("dd","fffff");

    在c#中我们使用下面的句子进行遍历

    foreach(DictionaryEntry   de   in   yourHashTable)  
      {

    }

    但是在powershell 中此法行不通。

    我使用了从下方法

    1.使用foreach 遍历keys

    foreach($obj in $hash.Keys)
    {
        "key:"+$obj
        "value:"+$hash[$obj];
    }

    2.使用enumerator

    [System.Collections.IEnumerator]$keys=$hash.Keys.GetEnumerator(); 
    while($keys.MoveNext())
    {
        "key:"+$keys.Key;
        "value:"+$keys.Value;
    }

    3.使用hashtable的copyTo

    [System.Object[]]$array=New-Object System.Object[] -ArgumentList $hash.Count;
    $hash.CopyTo($array,0);
    foreach($item in $array)
    {
      "key:"+$item.Key;
      "value:"+$item.Value;
    }

    我相信你已经很清楚的知道powershell中hashtable的遍历了。

    如果需要了解hashtable的相关知识,请访问:http://technet.microsoft.com/zh-cn/library/ee692803(en-us).aspx

    下面我把全部代码贴出:

    $hash=@{"name"="ff"}
    $hash.Add("dd","fffff");

    foreach($obj in $hash.Keys)
    {
        "key:"+$obj
        "value:"+$hash[$obj];
    }

    [System.Collections.IEnumerator]$keys=$hash.Keys.GetEnumerator(); 
    while($keys.MoveNext())
    {
        "key:"+$keys.Key;
        "value:"+$keys.Value;
    }

    [System.Object[]]$array=New-Object System.Object[] -ArgumentList $hash.Count;
    $hash.CopyTo($array,0);
    foreach($item in $array)
    {
      "key:"+$item.Key;
      "value:"+$item.Value;
    }

    输出:

    key:name
    value:ff
    key:dd
    value:fffff
    key:name
    value:ff
    key:dd
    value:fffff
    key:name
    value:ff
    key:dd
    value:fffff

    原文路径:
     http://www.cnblogs.com/fmyuan2000/archive/2010/04/22/1717952.html 

  • 相关阅读:
    .net core
    asp.net core之abp框架
    C#
    c#
    C#
    C#
    C#
    技术术语
    mysql
    006.内测.情景之迷你财务记账
  • 原文地址:https://www.cnblogs.com/slow/p/2348485.html
Copyright © 2011-2022 走看看