diff --git a/sandbox/ConsoleApp/Program.cs b/sandbox/ConsoleApp/Program.cs index c7c16e2..04ad310 100644 --- a/sandbox/ConsoleApp/Program.cs +++ b/sandbox/ConsoleApp/Program.cs @@ -7,7 +7,9 @@ namespace ConsoleApp { static void Main(string[] args) { + var oc = new ObservableList(); + oc.AddRange(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }.AsEnumerable()); } } diff --git a/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/Internal/CloneCollection.cs b/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/Internal/CloneCollection.cs index 69648d5..43bd988 100644 --- a/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/Internal/CloneCollection.cs +++ b/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/Internal/CloneCollection.cs @@ -22,6 +22,7 @@ namespace ObservableCollections.Internal { this.array = ArrayPool.Shared.Rent(1); this.length = 1; + this.array[0] = item; } public CloneCollection(IEnumerable source) @@ -113,7 +114,7 @@ namespace ObservableCollections.Internal public void Add(T item) => throw new NotSupportedException(); public void Clear() => throw new NotSupportedException(); public bool Contains(T item) => throw new NotSupportedException(); - public void CopyTo(T[] dest, int destIndex) => array.CopyTo(dest, destIndex); + public void CopyTo(T[] dest, int destIndex) => Array.Copy(array, 0, dest, destIndex, count); public IEnumerator GetEnumerator() { diff --git a/src/ObservableCollections/Internal/CloneCollection.cs b/src/ObservableCollections/Internal/CloneCollection.cs index 9593574..fb72d60 100644 --- a/src/ObservableCollections/Internal/CloneCollection.cs +++ b/src/ObservableCollections/Internal/CloneCollection.cs @@ -114,7 +114,7 @@ namespace ObservableCollections.Internal public void Add(T item) => throw new NotSupportedException(); public void Clear() => throw new NotSupportedException(); public bool Contains(T item) => throw new NotSupportedException(); - public void CopyTo(T[] dest, int destIndex) => array.CopyTo(dest, destIndex); + public void CopyTo(T[] dest, int destIndex) => Array.Copy(array, 0, dest, destIndex, count); public IEnumerator GetEnumerator() {