2015-04-05 187 views
0

我已經得到了到目前爲止基本上是2 seperately內置陣列,像這樣的內容:基於一個ID陣列排序多個陣列

Arraygroup#1:

var nickName = ['Noah', 'Liam', 'Jacob', 'Mason', 'William',]; 
var lastLogin = ['03042015', '02042015', '02042015', '05032015', '16022015']; 
var id = [0001, 0002, 0003, 0004, 0005]; 

Arraygroup#2 :

var banStatus= [0, 0, 2, 1, 0]; 
var status = ['Online', 'Busy', 'Snooze', 'Offline', 'Offline']; 
var id = [0003, 0005, 0001, 0004, 0002]; 

我想要做的是他們那種基於「ID」陣列他們都得到了什麼,(但可悲的是,他們是以錯誤的順序)。

結果應該是這樣的:

id[0] == 0001 
nickName[0] == Noah 
lastLogin[0] == 03042015 
isBanned[0] = 2 
status[0] = Snooze 

回答

1

創建具有兩個元素的元組列表。第一個元素:Id數組,第二個元素:整數0 ..數組的長度。

List<Tuple<int,int>> arraySortHelperList = new List<Tuple<int,int>>(); 
for(...) 
{ 
    int id = ... 
    arraySortHelperList.Add(new Tuple<int,int>(id, n++)); 
} 

根據Id元素對此列表進行排序。

現在第二元素是排序索引即,排序列表中的第一項將在其第二元素中包含排在第一位的數組槽的索引。

2

完全是另一個答案:

定義包含從陣列中的所有屬性的類:

class MyClass 
{ 
    int Id; 
    string nickName; 
    ... 
} 

填充列表與這些對象形成的陣列。對這個列表排序。