List(暂存)
来源:互联网 发布:电脑看书软件app 编辑:程序博客网 时间:2024/04/29 01:06
using System;using System.Collections.Generic;using System.Linq;namespace ListTest{ class Program { protected static void Main(string[] args) { List<string> strs1 = new List<string> { "1", "2", "3", "1", "4" }; List<string> strs2 = new List<string> { "1", "0", "3", "1", "4" }; List<User> us = new List<User>(); us.Add(new User(Guid.Empty, "1111")); us.Add(new User(Guid.NewGuid(), "2222")); us.Add(new User(Guid.NewGuid(), "2222")); us.Add(new User(Guid.NewGuid(), "3333")); List<User> us2 = new List<User>(); us2.Add(new User(Guid.Empty, "1111")); us2.Add(new User(Guid.Empty, "2222")); us2.Add(new User(Guid.NewGuid(), "222423w5")); //List去除重复 List<User> delegateList = us.Distinct(new Compare<User>(delegate(User x, User y) { if (null == x || null == y) return false; return x.UserName == y.UserName; })).ToList(); //List去重复 var strs = strs1.Except(strs2).ToList(); foreach (var item in delegateList) { Console.WriteLine(item.UserName); } //List取交集 strs = strs1.Intersect(strs2).ToList(); //foreach (var item in strs) //{ // Console.WriteLine(item); //} //List取交集 List<User> delegateList2 = us.Intersect(us2, new Compare<User>(delegate(User x, User y) { if (null == x || null == y) return false; return x.UserName == y.UserName; })).ToList(); //foreach (var item in delegateList2) //{ // Console.WriteLine(item.UserName); //} Console.ReadLine(); } } public class User { public User() { } public User(Guid uid, string uname) { UserId = uid; UserName = uname; } public Guid UserId { get; set; } public String UserName { get; set; } } public delegate bool EqualsComparer<T>(T x, T y); public class Compare<T> : IEqualityComparer<T> { private EqualsComparer<T> _equalsComparer; public Compare(EqualsComparer<T> equalsComparer) { this._equalsComparer = equalsComparer; } public bool Equals(T x, T y) { if (null != this._equalsComparer) return this._equalsComparer(x, y); else return false; } public int GetHashCode(T obj) { return obj.ToString().GetHashCode(); } }}
0 0
- List(暂存)
- list集合作为暂存数据的容器
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存
- 暂存资料
- 暂存链接
- 【已解决】android.view.WindowManager$BadTokenException: Unable to add window
- Uiautomator Api浅析
- Eclipse打JAR包,插件FatJar安装与使用
- 《C++高级编程》读书笔记(一)
- av_opt_set_int_list 学习笔记
- List(暂存)
- ubuntu下卸载mysql(转载)
- java去哪儿笔试解决方案四
- 根据一组点拟合曲线(需要opencv库)
- Linux下的logrotate
- 5px的空隙
- Android自定义圆形图片
- 解决Ubuntu中使用windows文件名乱码问题
- 聚类分析学习