Remove some unnecessary list and array allocations.

This commit is contained in:
Jon Hanna
2017-01-04 22:22:26 +00:00
parent 3ae09a80f0
commit d408066f64
8 changed files with 76 additions and 55 deletions
@@ -665,16 +665,15 @@ namespace Newtonsoft.Json.Utilities
foreach (IGrouping<string, MemberInfo> groupedMember in targetMembers.GroupBy(m => m.Name))
{
int count = groupedMember.Count();
IList<MemberInfo> members = groupedMember.ToList();
if (count == 1)
{
distinctMembers.Add(members.First());
distinctMembers.Add(groupedMember.First());
}
else
{
IList<MemberInfo> resolvedMembers = new List<MemberInfo>();
foreach (MemberInfo memberInfo in members)
foreach (MemberInfo memberInfo in groupedMember)
{
// this is a bit hacky
// if the hiding property is hiding a base property and it is virtual