Search code examples
c#.netimmutable-collections

Difference between ImmutableArray<T> and ImmutableList<T>


What is difference between ImmutableArray<T> and ImmutableList<T>, and where would it be best to use each?


Solution

  • I think you are asking where to use each of them. Please welcome ImmutableArray will help. To summarize, use immutable array when:

    • Updating the data is rare or the number of elements is quite small (<16)
    • You need to be able to iterate over the data in performance critical sections
    • You have many instances of immutable collections and you can’t afford keeping the data in trees

    Use immutable list when:

    • Updating the data is common or the number of elements isn't expected to be small
    • Updating the collection is more performance critical than iterating the contents