2017-08-18 3 views
-2
caseDto.ExtendedProperties = new Dictionary<string, string>(); 
foreach (var eElement in zakkennisgeving.extraElementen.ToList()) 
{ 
    if (eElement.Value != null) 
    caseDto.ExtendedProperties.Add(eElement.naam.ToString(), eElement.Value.ToString()); 
} 

ラムダ式でこれを行うにはどうすればよいですか?プロパティで値を代入する前にヌルチェックを行う。LINQラムダ式C#

私はこの

zakkennisgeving.extraElementen.ToList().Where(x => x.Value != null && caseDto.ExtendedProperties.Add(x.naam.ToString(), x.Value.ToString()))); 

を試みた。しかし、それは有効な文ではありませんのでDictionary.Add()として何も返しません。

答えて

3

あなたはIEnumerable.WhereIEnumerable.ToDictionary拡張メソッド

caseDto.ExtendedProperties = 
    zakkennisgeving.extraElementen 
        .Where(element => element.Value != null) 
        .ToDictionary(element => element.naam.ToString(), 
           element => element.Value.ToString()); 
を連鎖でそれを行うことができます
関連する問題