I’m starting to collect small fragments from everyday life to understand and increase understanding and readability of code I’m coming across.
First piece in this category is gone which I came across while contributing to one of the open source modules.
Original fragment:
{
IEnumerable btypes = GetBlockTypes();
List blockproperties = new List();
int x = 0;
foreach (BlockType type in btypes)
{
x = 0;
foreach (PropertyDefinition def in type.PropertyDefinitions)
{
x++;
blockproperties.Add(new TypePropertyResultItem {
TypeName = x == 1 ? type.Name : “”,
PropertyName = def.Name,
Description = def.TranslateDescription(),
DisplayName = def.TranslateDisplayName()
});
}
}
return blockproperties;
}
Modified code fragment:
{
var types = GetBlockTypes();
var blockproperties = new List();
foreach (var type in types)
{
blockproperties.AddRange(type.PropertyDefinitions.Select((def, i) =>
new TypePropertyResultItem
{
TypeName = i == 0 ? type.Name : string.Empty,
PropertyName = def.Name,
Description = def.TranslateDescription(),
DisplayName = def.TranslateDisplayName()
}));
}
return blockproperties;
}
Happy reading not your code! :)
[eof]