在这里,我正在尝试将通用值列表添加到字典中。
下面是DocDetails类
public class DocDetails
{
public string DocId { get; set; }
public string Description { get; set; }
public string Category { get; set; }
}
我正在DocDetails
对象中获取docDetailsList
的列表。使用此方法获取DocDetails的每一项,并获取属性名称和值,然后添加到Dictionary。
Dictionary<string, List<object>> docDict = new Dictionary<string, List<object>>();
foreach (var doc in docDetailsList)
{
var dict = doc.GetType().GetProperties().ToDictionary(
m => m.Name, m => new List<object>()
{
m.GetValue(doc, null).ToString()
});
docDict.Add(dict);
}
当尝试在此行m.GetValue(doc, null).ToString()
中获取属性值时,如果该值为null,则获取异常。
我如何验证它,即使它为null我也需要将该属性名称添加到具有空值的列表中。有人可以帮我吗
答案 0 :(得分:1)
代替:
m.GetValue(doc, null).ToString()
您可以在致电ToString()
之前检查它是否为空:
m.GetValue(doc, null) != null ? m.GetValue(doc, null).ToString() : null