从Dictionary <int,string [] =“”>中获取字符串数组

时间:2018-06-06 15:20:49

标签: c#

这是我的代码

pritvate static Dictionary<int, string[]> _list = new Dictionary<int, string[]>();

我怎样才能得到字符串[]? 我尝试了这个以及更多:

string[] s = _list.Values;

但一切都行不通。

请帮助

1 个答案:

答案 0 :(得分:3)

如果您希望将所有键的所有字符串数组合并为一个数组,则可以使用LINQ&#39; .SelectMany(...)

var strings = _list.Values.SelectMany(v => v).ToArray()

再次阅读您的问题,我想知道您是否询问如何访问单个密钥的值。因此,如果您想要单个键的字符串数组,您只需使用索引器:

var value = _list["keyname"];

但如果密钥不存在,那将导致异常。如果您不确定该密钥是否存在,则可以使用.TryGetValue(...)

string[] value;
if (_list.TryGetValue("keyname", out value))
{
    // value was found
}
else
{
    // value wasn't found
}