基于字典输出数组数据

时间:2014-02-21 16:25:09

标签: c# arrays dictionary

我目前正在尝试从我的程序中注销3条信息:

  1. 数组中的位置
  2. 与此职位相关的价值
  3. 与此职位相关联的词典键值
  4. 然而,我想我已经对如何做到这一点感到困惑。有人可以看看我的代码告诉我我做错了什么,因为它没有输出我所需的信息:

    float[] foo_array = new float[dictionary.Count];
    dictionary.Values.CopyTo(foo_array, 0);
    
    Array.Sort(foo_array);
    
    foreach (string key in dictionary.Keys)
    {
    
        for( int i = 0; i < foo_array.Length; i++)
        {
          Debug.Log("Array position: " + i + " ARRAY VALUE : " + foo_array[i] +   " key value: " + key);
        }
    }
    

1 个答案:

答案 0 :(得分:0)

我认为你所追求的是在字典上迭代它的位置,以及相关的键和值。 您无需将键复制到数组中即可:

var formatStrings =
    dictionary.Select((kvp, index) => 
        string.Format(
            "Position: {0} Key: {1} Value: {2}", index, kvp.Key, kvp.Value));

foreach (var formatString in formatStrings) 
{
    Debug.Log(formatString);
}