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: 180
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