有字符串A="1,2, ,3,4,5,4",B=" ,4,5,Aaa,测试,9”利用C#技术如何做出以下程序

1,A B相交的集为C="4,5";
2,A-B等于D="1,2,3";
3,A+B等于E="1,2,3,4,5,测试,9";
中间以逗号相隔,并且逗号之间都有空格希望给予正确做法谢谢

如果你使用的是.net3.5及以上,可以使用LINQ技术,很简单的就可以实现!比如:

int[] a = { 1, 2, 3, 4, 5, 6, 7 };
int[] b = { 4, 5, 6, 7, 8, 9, 10 };
int[] c = { 1, 2, 3, 3, 4, 1, 2, 4, 6, 1, 6, 5 };

// 交集
var ** = a.Intersect(b);

// 并集
var ** = a.Union(b);

// a有b没有的
var diff1 = a.Except(b);

// b有a没有的
var diff2 = b.Except(a);
你的那个字符串数组也是同样的,可以先转换为数组,当然也可以采用类似下面的方式:(并集为例)
string str1 = "a,b,c,h,p";
string str2 = "adefghjkhhhf";
List<string> list = new List<string>();
foreach (char c in str2)
list.Add(c.ToString());
IEnumerable<string> istr = str1.Split(',').Union(list).OrderBy(x => x);
foreach (string i in istr)
Response.Write(i);追问

没太明白,可是在vs环境中的?

追答

你可以在VS环境中编译,不过是基于.net3.5,vs的版本应该是Vs2008及以上

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网