I'm not sure what you want to achieve, but it seems you want to sort an array based on another one.
As i mentioned in comment to the Bill's comment, you can use
List<Tuple<int, string>>
For example:
List<Tuple<int, string>> a = new List<Tuple<int, string>>(){
Tuple.Create(1, "1"),
Tuple.Create(2, "2"),
Tuple.Create(3, "3"),
Tuple.Create(4, "4"),
Tuple.Create(14, "14"),
Tuple.Create(45, "45"),
Tuple.Create(6, "6"),
Tuple.Create(16, "16"),
Tuple.Create(66, "66"),
Tuple.Create(100, "100"),
};
var b = a.OrderBy(x=>x.Item1);
var c = a.OrderBy(x=>x.Item2);
In case i was wrong, please clarify your question using "Improve question" widget (green link at the right-bottom corner of the question).