我有一个大的嵌套选择新的类,这很好,但我想添加一个新的KeyValuePair到" TestDictionary"在飞行中,它具有来自" B"。
的价值from a ... from b ...
select new c
{
TestC = b.Foo,
TestDictionary = new Dictionary(b.Parameters.ToDictionary(
x => x.ParameterKey, x => (object)x.ParameterValue))
// .Add(new.. "SomeKey", b.SomeValue) ?
}).ToList()
尝试使用Add方法,但无法使其工作。是否可以动态添加一个keyvaluepair到新创建的字典?
提前致谢
/拉塞
答案 0 :(得分:2)
您应该能够使用集合初始化程序语法。当Add()
方法使用多个参数时,与Dictionary
一样,您可以用花括号包装每个参数:
from a ... from b ...
select new c
{
TestC = b.Foo,
TestDictionary = new Dictionary(b.Parameters.ToDictionary(
x => x.ParameterKey, x => (object)x.ParameterValue))
{
{"SomeKey", b.SomeValue},
//{"SomeOtherKey", b.FooBar} //if you had more than one…
};
}).ToList()