C#数组之间的比较获取某个数组不包含有另一个数组的值

业务需求,有时会需要比较两个数组,取一个数组中不包含另一个数组的值。代码如下:

 1             string strs = string.Empty;
 2             string[] strs1 = { "a", "b", "c", "d" };
 3             string[] strs2 = { "a", "b", "c", "f", "g" };
 4 
 5             Dictionary<string, string> map = new Dictionary<string, string>();
 6           
 7             for (int k = 0; k < strs1.Length; k++)
 8             {
 9                 map.Add(strs1[k], "");
10             }
11 
12             for (int m = 0; m < strs2.Length; m++)
13             {
14                 //数组一已经存在的值是否包含指定的键值,不包含的才取出来
15                 if (!map.ContainsKey(strs2[m]))
16                 {
17                     strs += strs2[m] + "";
18                 }
19             }
20             //Response.Write("strs1字符串数组值:a, b, c, d<br/>"  );
21             Response.Write("strs1字符串数组跟字符串数组strs2比较,strs1字符串数组中不含有strs2数组中的有:" + strs);
22 
23            map = new Dictionary<string, string>();
24 
25             for (int k = 0; k < strs2.Length; k++)
26             {
27                 map.Add(strs2[k], "");
28             }
29 
30             for (int m = 0; m < strs1.Length; m++)
31             {
32                 //数组一已经存在的直值是否包含指定的键值,不包含的才取出来
33                 if (!map.ContainsKey(strs1[m]))
34                 {
35                     strs += strs1[m] + "";
36                 }
37             }
38 
39             Response.Write("反之:" + strs);

方法比较笨,欢迎指正!如果您有更好的方法,欢迎加我QQ253267332!

 

posted on 2011-05-19 17:28  东云180  阅读(1225)  评论(0编辑  收藏  举报

导航