diff --git a/src/ImageSharp/MetaData/Profiles/ICC/IccProfile.cs b/src/ImageSharp/MetaData/Profiles/ICC/IccProfile.cs
index 72665bc69..1d3b27c5e 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/IccProfile.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/IccProfile.cs
@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Security.Cryptography;
namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
@@ -20,7 +21,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
/// The backing file for the property
///
- private List entries;
+ private IccTagDataEntry[] entries;
///
/// ICC profile header
@@ -52,7 +53,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
Guard.NotNull(entries, nameof(entries));
this.header = header;
- this.entries = new List(entries);
+ this.entries = entries.ToArray();
}
///
@@ -85,7 +86,7 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
/// Gets the actual profile data
///
- public List Entries
+ public IccTagDataEntry[] Entries
{
get
{
@@ -212,12 +213,12 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
if (this.data is null)
{
- this.entries = new List();
+ this.entries = Array.Empty();
return;
}
var reader = new IccReader();
- this.entries = new List(reader.ReadTagData(this.data));
+ this.entries = reader.ReadTagData(this.data);
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/IccWriter.cs b/src/ImageSharp/MetaData/Profiles/ICC/IccWriter.cs
index b476e3195..91a3bba54 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/IccWriter.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/IccWriter.cs
@@ -68,12 +68,12 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
}
}
- private IccTagTableEntry[] WriteTagData(IccDataWriter writer, List entries)
+ private IccTagTableEntry[] WriteTagData(IccDataWriter writer, IccTagDataEntry[] entries)
{
IEnumerable> grouped = entries.GroupBy(t => t);
// (Header size) + (entry count) + (nr of entries) * (size of table entry)
- writer.SetIndex(128 + 4 + (entries.Count * 12));
+ writer.SetIndex(128 + 4 + (entries.Length * 12));
var table = new List();
foreach (IGrouping group in grouped)
diff --git a/tests/ImageSharp.Tests/MetaData/Profiles/ICC/IccReaderTests.cs b/tests/ImageSharp.Tests/MetaData/Profiles/ICC/IccReaderTests.cs
index b3215ee7a..c91076afc 100644
--- a/tests/ImageSharp.Tests/MetaData/Profiles/ICC/IccReaderTests.cs
+++ b/tests/ImageSharp.Tests/MetaData/Profiles/ICC/IccReaderTests.cs
@@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
IccProfile output = reader.Read(IccTestDataProfiles.Header_Random_Array);
- Assert.Equal(0, output.Entries.Count);
+ Assert.Equal(0, output.Entries.Length);
Assert.NotNull(output.Header);
IccProfileHeader header = output.Header;
@@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
IccProfile output = reader.Read(IccTestDataProfiles.Profile_Random_Array);
- Assert.Equal(2, output.Entries.Count);
+ Assert.Equal(2, output.Entries.Length);
Assert.True(ReferenceEquals(output.Entries[0], output.Entries[1]));
}