有字符串A="1,2, ,3,4,5,4",B=" ,4,5,Aaa,测试,9”利用C#技术如何做出以下程序
1,AB相交的集为C="4,5";2,A-B等于D="1,2,3";3,A+B等于E="1,2,3,4,5,测试,9";中间以逗号相隔,并且逗号之间都有空格希望给予正确做...
1,A B相交的集为C="4,5";
2,A-B等于D="1,2,3";
3,A+B等于E="1,2,3,4,5,测试,9";
中间以逗号相隔,并且逗号之间都有空格希望给予正确做法谢谢 展开
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);
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及以上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询