I am writing a custom CheckedListBox control, where part of its purpose will be to compare changes to Checked status of items with the status of those items when the control was first initialized (basically, see if any changes were made).

I have 2 properties of this control:

1. CheckedIndices
2. InitialCheckedIndices

After I declare the custom control, I set checked status of various items. Once I have completed this, I want to do this:

customCheckedListBox1.InitialCheckedIndices = customCheckedListBox1.CheckedIndices

Of course, the problem is that the former is merely a reference to the latter, and every time the latter is changed by the user, the former is changed with it.

Is there a nice, minimalist way to make InitialCheckedIndices a copy of CheckedIndices WITHOUT reference?

Thanks.