C# 怎么知道两个数组不同的那个
List<String> numbers = new List<String>(1,2,3,4,5);List<String> numbers2 = new List<String>(2,3,4);
怎么取出第一个数组 在第二个数组没有的那个数;例如 1,5 是答案
追问:哎 我就是上次提这个问题的人,结果之前用了别人的答案,到后面就是行不通;
我的是WINFORM 你能不能简化点。。。控制台程序那些我不怎么会搬过来用
追问:哎 我就是上次提这个问题的人,结果之前用了别人的答案,到后面就是行不通;
我的是WINFORM 你能不能简化点。。。控制台程序那些我不怎么会搬过来用
答案:参考我的类似代码:
如果你用的是VS2008或者以上版本,建议使用扩展方法封装一个List比较方法,快速可以比较出两个List之间有多少元素相同或者不同,比如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
static class MyExtender
{
public static IEnumerable<T> GetDifferenceCollection<T>(this List<T> collection, IList<T> collection2) where T:IComparable<T>
{
List<T> result = new List<T>();foreach (T item in collection2)
{
if (collection.Find(delegate(T i) { return i.CompareTo(item) == 0; }).CompareTo(item)!=0)
{
result.Add(item);
}
}
return result;
}
}class Program
{
static void Main(string[] args)
{
List<int> numbers = new List<int>() { 1, 2, 3 };
List<int> numbers2 = new List<int>() {5, 1, 2, 3, 4 };var result = numbers.GetDifferenceCollection<int>(numbers2);
foreach (var item in result)
{
Console.WriteLine(item);
}
}
}
}