C#字典到字典的自动映射
我需要用一个字典的值修补另一个字典的值,并动态添加新的键。我需要保存新密钥并替换现有密钥,以完成补丁功能。必须存在我无法访问的现有映射。或者我应该写什么映射配置文件C#字典到字典的自动映射,c#,c#-4.0,dictionary,mapping,C#,C# 4.0,Dictionary,Mapping,我需要用一个字典的值修补另一个字典的值,并动态添加新的键。我需要保存新密钥并替换现有密钥,以完成补丁功能。必须存在我无法访问的现有映射。或者我应该写什么映射配置文件 [Test] public void DictionaryMapping() { // Arrange var write = new Dictionary<string, object> { { "Key1", 100 }, { "Key2", true }
[Test]
public void DictionaryMapping()
{
// Arrange
var write = new Dictionary<string, object>
{
{ "Key1", 100 },
{ "Key2", true }
};
var patch = new Dictionary<string, object>
{
{ "Key2", false },
{ "Key3", "Additional"}
};
// Act
Mapper.Map(patch, write);
// Assert
Assert.That(write["Key1"], Is.EqualTo(100));
Assert.That(write["Key2"], Is.EqualTo(false));
Assert.That(write["Key3"], Is.EqualTo("Additional"));
}
[测试]
公共无效字典映射()
{
//安排
var write=新字典
{
{“Key1”,100},
{“Key2”,true}
};
var patch=新字典
{
{“Key2”,false},
{“键3”,“附加”}
};
//表演
Map(补丁,写入);
//断言
断言(write[“Key1”],即.EqualTo(100));
Assert.That(write[“Key2”],Is.EqualTo(false));
断言(写入[“Key3”],即.EqualTo(“附加”);
}
您可以像这样合并词典:
foreach(var keyValue in patch)
write[keyValue.Key] = keyValue.Value;
它将覆盖现有词典,并为不存在的词典创建新词典。您可以像这样合并词典:
foreach(var keyValue in patch)
write[keyValue.Key] = keyValue.Value;
它将覆盖现有的,并为不存在的创建新的