string[] sa = new string[5]; sa[0] = @"c:\it\a.bak"; sa[1] = @"c:\it\e.bak"; sa[2] = @"c:\it\c.bak"; sa[3] = @"c:\it\b.bak"; sa[4] = @"c:\it\d.bak"; string[] sb = new string[5]; sb[0] = "20050604"; sb[1] = "20050602"; sb[2] = "20050609"; sb[3] = "20040604"; sb[4] = "20050704"; MessageBox.Show(sb[0]+":"+sa[0]+"\n"+sb[1]+":"+sa[1]+"\n"+sb[2]+":"+sa[2]+"\n"+sb[3]+":"+sa[3]+"\n"+sb[4]+":"+sa[4],"before"); // sort each array idependently //Array.Sort(sa); //Array.Sort(sb); // "link" the arrays using an overload method Array.Sort(sb,sa); MessageBox.Show(sb[0]+":"+sa[0]+"\n"+sb[1]+":"+sa[1]+"\n"+sb[2]+":"+sa[2]+"\n"+sb[3]+":"+sa[3]+"\n"+sb[4]+":"+sa[4],"after");Hope this helps.