数组排序问题!!! 我现在有两个数组A{2,1,5,4,3}和B{a,b,c,d,e},两个数组元素是一一对应的,当数组A排序后变为{1,2,3,4,5},数组B也变为{b,a,e,d,c}.也就是说,当一个数组改变顺序时,另一个对应的数组也跟着变化!请问如何实现类似的关联??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把两个数组的元素都放到一个map里面 变成k,v对然后直接操作map就可以了 int[] a = { 2, 1, 5, 4, 3 }; string[] b = { "a", "b", "c", "d", "e" }; Dictionary<string, int> dic = new Dictionary<string, int>(); for (int i = 0; i < a.Length; i++) dic.Add(b[i], a[i]); Array.Sort(a); Array.Sort(b, new Comparison<string>(delegate(string first, string second) { int indexa = Array.IndexOf(a, dic[first]); int indexb = Array.IndexOf(a, dic[second]); return indexa - indexb; })); foreach (int i in a) Console.Write(i + " "); Console.WriteLine(); foreach (string s in b) Console.Write(s + " "); 对数组B不能做任何操作,只能操作数组A,数组B要根据初始对应关系跟着变@! 晕,这还是需要操作数组B啊,实在不行你就申明一个 数组C,存储数组B的值,然后将C与A同时变换,这样当A排好序后,C也排好序了,然后将C覆盖数组B。 請問怎麼在Form裡再加入一個Form 字符串转化的问题 高手帮忙,送分了!! 只允许程序运行一个实例.如果已运行.并调用此实例中的某公共方法?? 编写程序,将文本框的内容存入到文件中。将文本的内容输出到文本框TextBox1上。源码怎样写啊? C#中通过DataGrid显示隶属关系 再次求救:C#二次开发AutoCADC问题(难道就没人用过吗?) 名称不能以“<”字符(十六进制值 0x3C)开头 怎么查询Access某字段非空的记录 水晶报表的printtoprinter()是在客户端打印还是在服务器端打印 發現VS2005裡自帶的反匯編器 四舍五入的问题
int[] a = { 2, 1, 5, 4, 3 };
string[] b = { "a", "b", "c", "d", "e" };
Dictionary<string, int> dic = new Dictionary<string, int>();
for (int i = 0; i < a.Length; i++)
dic.Add(b[i], a[i]);
Array.Sort(a);
Array.Sort(b, new Comparison<string>(delegate(string first, string second)
{
int indexa = Array.IndexOf(a, dic[first]);
int indexb = Array.IndexOf(a, dic[second]);
return indexa - indexb;
}));
foreach (int i in a)
Console.Write(i + " ");
Console.WriteLine();
foreach (string s in b)
Console.Write(s + " ");
实在不行你就申明一个 数组C,存储数组B的值,然后将C与A同时变换,这样当A排好序后,C也排好序了,然后将C覆盖数组B。