[英]C# getting values from Dictionary<string, List<object>>
我有一个关于如何从我的Dictionary<string, List<object>>
获取值的问题,我尝试了所有在google中找到的示例,但仍然无法获得可读的值.....
所以,这是代码:
List<object> listValues = new List<object>();
listValues.Add(risk);
listValues.Add(validFrom);
listValues.Add(effectiveDate);
Dictionary<string, List<object>> dic = new Dictionary<string, List<object>>();
dic.Add(nameOfInsuredObject, listValues);
foreach (object value in dic.Values)
{
System.Console.WriteLine(value);
}
我可以从字典中获取密钥,但是有了价值,我现在就被困住了。...这是此代码的结果:
Key => testInsObj
Values => System.Collections.Generic.List`1[System.Object]
那么有人可以帮我吗? 我是C#的新手,所以对其他人来说这也许是个简单的问题。
对于新的C#用户来说,如何访问字典令人困惑。
在字典上执行foreach
时,会得到KeyValuePair<TKey, TValue>
。 现在,此KeyValuePair<TKey, TValue>
具有2个属性KeyValuePair.Key
和KeyValuePair.Value
,表示存储在字典中的Key
和Value
。
同样,您所用的Value
是List<T>
,这意味着在其上执行Console.WriteLine
不会打印整个List<T>
(正如某些人所期望的那样),而只会打印一些参考字符串。 您将必须“遍历”列表以打印单个元素。 不用说,根据要对List<T>
的元素执行的操作,可以使用LINQ
或其他一些常见的C#习惯用法。
foreach (var value in dic) {
Console.WriteLine(value.Key);
foreach (var item in value.Value)
Console.WriteLine(item);
}
看来您正在寻找以这种方式编写列表的值:
foreach (var value in dic.Values)
{
value.ForEach(Console.WriteLine);
}
实际上,字典的每个元素都是<string, List<Object>>
。 因此,当您要将对中的Value
部分写入控制台时,需要一个for循环来写入List<object>
每个元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.