0

あるディクショナリの値に別のディクショナリの値をパッチして、その場で新しいキーを追加する必要があります。パッチ機能を完了するには、新しいキーを保存して既存のキーを置き換える必要があります。アクセスできない既存のマッピングが必要です。または、どのマッピング プロファイルを作成すればよいですか?

[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"));
}
4

1 に答える 1

4

次のように辞書をマージできます。

foreach(var keyValue in patch)
    write[keyValue.Key] = keyValue.Value;

既存のものを上書きし、存在しないもののために新しいものを作成します。

于 2013-08-26T12:22:00.783 に答える