vendredi 15 février 2019

Shorten Code by accessing Dictionary with if

I have the following code

Dictionary<string, string> changesDictionary = new Dictionary<string, string>();
if (changesDictionary.ContainsKey("field1"))
{
    resultObject.field1 = changesDictionary["field1"];
}
if (changesDictionary.ContainsKey("field2"))
{
    resultObject.field2 = changesDictionary["field2"];
}
if (changesDictionary.ContainsKey("field3"))
{
    resultObject.field3 = changesDictionary["field3"];
}

which has 4 lines for a potential assignment. I'm wondering if there is a way to write it shorter.

I've tried the ternary operator which makes one line but it's harder to read.

resultObject.field1 = changesDictionary.ContainsKey("field1") ? changesDictionary["field1"] : resultObject.field1;

Aucun commentaire:

Enregistrer un commentaire