What collection object is appropriate for fixed ordering of values?

Posted by makerofthings7 on Stack Overflow See other posts from Stack Overflow or by makerofthings7
Published on 2011-01-17T19:10:15Z Indexed on 2011/01/17 19:53 UTC
Read the original article Hit count: 184

Filed under:
|
|
|
|

Scenario: I am tracking several performance counters and have a CounterDescription[] correlate to DataSnapshot[]... where CounterDescription[n] describes the data loaded within DataSnapshot[n].

I want to expose an easy to use API within C# that will allow for the easy and efficient expansion of the arrays.

For example

CounterDescription[0] = Humidity;
DataSnapshot[0] = .9;
CounterDescription[1] = Temp;
DataSnapshot[1] = 63;

My upload object is defined like this: Note how my intent is to correlate many Datasnapshots with a dattime reference, and using the offset of the data to refer to its meaning. This was determined to be the most efficient way to store the data on the back-end, and has now reflected itself into the following structure:

  public class myDataObject { 
    [DataMember]
    public SortedDictionary<DateTime, float[]> Pages { get; set; }

    /// <summary>
    /// An array that identifies what each position in the array is supposed to be
    /// </summary>
    [DataMember]
    public CounterDescription[] Counters { get; set; }
   }

I will need to expand each of these arrays (float[] and CounterDescription[] ), but whatever data already exists must stay in that relative offset.

Which .NET objects support this? I think

Array[] , LinkedList<t>, and List<t>

Are able to keep the data fixed in the right locations. What do you think?

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET