我有一个收藏品
List<Employee>
包含
Name
,EmployeeID
,Address
,JobTitle
等等
对于每个员工,几列都没有变化,基于这几列我需要更新我的Active Directory。
因此,我为每列创建一个isEditable
字段,表示该列是否已更改为特定员工。但事实证明,我需要为所有列创建此字段,并且列数也会经常更改。
所以我提出了嵌套字典集合
Dictionary<int, Dictionary<object, bool>>
将Employee ID
存储为key
,object
类型将存储所有column names
和bool
默认为{{1} }
但我不知道如何用false
Collection填充上面的嵌套集合。
这是我到现在为止所尝试的
List<Employee>
但它的投掷错误。我正在尝试从每个Dictionary<int, Dictionary<object, bool>> _isEditable = new Dictionary <int, Dictionary<object, bool>>();
foreach (var item in _empColl )
{
foreach (var type in _empColl .GetType ().GetProperties ())
{
_isEditable.Add (item.EmployeeID ,dict.Add (type.Name,false));
}
}
的{{1}}获取元数据(列名称)
答案 0 :(得分:2)
您可以使用以下LINQ获取结果:
var _isEditable = _empColl.ToDictionary(item => item.EmployeeID,
item => item.GetType()
.GetProperties()
.ToDictionary(pro => pro.Name,
pro => false));