【发布时间】:2017-08-30 14:28:19
【问题描述】:
我有一个 A 类,其中包含 B 类描述的键/值对数组。其中一个键称为“名称”。我想使用 Linq 构建一个Dictionary<string, Dictionary<string, string>>,其中第一个字典的键是 B 数组中名为“名称”的属性,值是包含 B 的键/值对的第二个字典。
public class A
{
public int a;
public B[] b;
}
public class B
{
public string key;
public string value;
}
A[] a = new A[]
{
new A { a = 1, b = new B[] { new B { key = "name", value = "n1"}, new B { key = "test", value = "t1" } }, },
new A { a = 2, b = new B[] { new B { key = "name", value = "n2"}, new B { key = "test", value = "t2" } }, },
};
所以实际上我想在数组“a”上使用 Linq 构建以下字典:
Dictionary<string, Dictionary<string, string>> d = new Dictionary<string, Dictionary<string, string>>()
{
{ "n1", new Dictionary<string, string>() { { "name", "n1" }, { "test", "t1" } } },
{ "n2", new Dictionary<string, string>() { { "name", "n2" }, { "test", "t2" } } },
};
【问题讨论】:
标签: c# .net arrays linq dictionary