当前位置:编程学习 > C#/ASP.NET >>

C# 怎么知道两个数组不同的那个

 List<String> numbers = new List<String>(1,2,3,4,5);
 List<String> numbers2 = new List<String>(2,3,4);
怎么取出第一个数组 在第二个数组没有的那个数;例如 1,5 是答案
追问:哎 我就是上次提这个问题的人,结果之前用了别人的答案,到后面就是行不通;
我的是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);
            }
        }
    }
}

上一个:C#中如何编写一个发送邮件的程序
下一个:关于c#中的反射和序列化有什么关系

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,