Ну, вы можете сделать это проще с помощью инициализаторов объектов, чтобы начать с:
for (int i = 0; i < objEntityCode.Count; i++)
{
options.Attributes[i] = new EntityCodeKey
{
EntityCode = objEntityCode[i].EntityCodes,
OrganizationCode = Constants.ORGANIZATION_CODE
};
}
Я бы, вероятно, оставил это, хотя ... в настоящее время нет ForEach
метода расширения для IEnumerable<T>
- и по веским причинам , хотя я знаю, что это не общепризнанное мнение;)
В этом случае вам все же нужно знать i
, чтобы установить options.Attributes[i]
- если, конечно, вы не можете установить все options.Attributes
за один раз, конечно ... не зная о задействованных типах, советовать дальше довольно сложно.
Если options.Attributes
является записываемым свойством (например, массивом), вы можете использовать:
options.Attributes = objEntityCode.Select(code => new EntityCodeKey
{
EntityCode = code.EntityCodes,
OrganizationCode = Constants.ORGANIZATION_CODE
}).ToArray();
Если options.Attributes
равен , на самом деле , это просто свойство, которое возвращает тип с индексатором, которое не будет работать.